识别登录用户的最佳方法是什么?

时间:2011-09-22 10:50:56

标签: c# asp.net

我在寻找使用asp.net login control

时跟踪已记录用户的有效方法
        if (!IsPostBack)
        {
            if (Membership.GetUser() != null)
            {
                var user = Membership.GetUser();
                Session["user"] = user;
            }
            else
            {
                Session["user"] = "";
            }
        }

任何建议都将受到赞赏

5 个答案:

答案 0 :(得分:3)

您可以通过以下方式获取用户身份(如果您使用的是asp.net表单成员身份):

HttpContext.Current.User.Identity.Name

答案 1 :(得分:3)

为什么所有这些痛苦以及为什么你试图将它保存在Session中(这是用户特定的而不是特定于应用程序的),当你可以从这个对象中获取它时:

HttpContext.Current.User

查看此详细信息:How to get current user who's accessing an ASP.NET application?

答案 2 :(得分:2)

登录时,如果用户有效,请使用:

FormsAuthentication.SetAuthCookie(login.UserName, false);

而不是依赖Session来存储用户登录状态。

然后,您可以通过以下方式检查用户是否已登录:

User.Identity.IsAuthenticated

获取用户名:

User.Identity.Name

答案 3 :(得分:1)

您只需使用

即可
User.Identity.Name

答案 4 :(得分:1)

您可以使用User.Identity.Name

请查看HttpContext.User Property