0

我使用的是Asp.Net内置的membership framework,我有一个需要显示logged-in用户名的要求,我的aspnet_users表存储了类似这样的用户名,abc001这实际上是用户的用户代码,它的用户名存储在另一个表中用 .链接到aspnet_usersforeign 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; 
        }

谢谢

4

3 回答 3

1

您可以使用,

Membership.GetUser().UserName

...获取当前登录的用户。如果用户没有登录,你会得到一个null返回的值GetUser(),所以相应地编码。

于 2012-05-03T11:45:31.260 回答
0

尝试User.Identity.Name

查看更多关于 HttpContext.User 属性

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

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

ProviderUserKey对于每个用户来说都是唯一的,我猜你使用它作为外键。既然你有ProviderUserKey你可以从你的另一个表中获取必要的详细信息

于 2012-05-03T11:53:35.340 回答
0

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

于 2013-03-06T09:09:33.273 回答