在水平菜单中显示当前用户的名称

时间:2012-05-03 11:41:47

标签: asp.net membership

我正在使用Asp.Net内置membership framework,我需要显示logged-in用户的名称,我的aspnet_users表存储用户命名为abc001这个实际上是用户的用户代码,其用户名存储在另一个表中,该表与aspnet_users表链接foreign key constraint。所以如何显示导航菜单中该表格中的用户名称将向右浮动。像Facebook这样,它会在标题中显示logged-in个用户名。 修改

protected void cmdLogin_Click(object sender, EventArgs e)
        {
            if (Membership.ValidateUser(txtUsername.Text, txtPassword.Text))
            {
                HttpCookie authCookie = FormsAuthentication.GetAuthCookie(txtUsername.Text, false);
                FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value);
                FormsAuthenticationTicket newTicket = new FormsAuthenticationTicket(ticket.Version, ticket.Name, ticket.IssueDate, ticket.Expiration, ticket.IsPersistent, "");
                authCookie.Value = FormsAuthentication.Encrypt(newTicket);
                Response.Cookies.Add(authCookie);
                GetUserName(); 
                string redirUrl = FormsAuthentication.GetRedirectUrl(txtUsername.Text, false);
                Response.Redirect(redirUrl);

            }


        }
        public void GetUserName()
        {
            DataClasses1DataContext dt = new DataClasses1DataContext();
            var name =( from nm in dt.Users_AdditionalInfos
                        where nm.UserCode== txtUsername.Text.Trim() 
                        select nm).Single();
           Global.UserName=name.FirstName +" "+ name.LastName; 
        }

由于

3 个答案:

答案 0 :(得分:1)

你可以使用,

Membership.GetUser().UserName

...获取当前登录用户。如果用户未登录,您将获得GetUser()返回的 null 值,因此代码相应。

答案 1 :(得分:0)

尝试User.Identity.Name

了解更多信息 HttpContext.User Property

如果您需要从另一个表中获取不同的信息,您可以获得username并执行类似的操作

MembershipUser userInfo = Membership.GetUser("myUserName");    
Guid guid = new Guid(userInfo.ProviderUserKey.ToString()); 

ProviderUserKey对每个用户都是唯一的,我猜您使用它作为外键。因为您有ProviderUserKey,您可以从其他表中获取必要的详细信息

答案 2 :(得分:0)

User.Identity.Name 可用于访问用户的用户名。看一下本教程,它进一步解释了如何获取用户的会员信息。 http://mvctutorialsandguides.blogspot.co.nz/2013/03/mvc-c-sql-membership-provider-how-to.html希望这有帮助。