priyank patel
priyank patel

Reputation: 11

Display the name of current user in horizontal menu

I am using Asp.Net built-in membership framework , I have a requirement where I need to display the name of the logged-in user, my aspnet_users table stores the user name something like this abc001 which is actually the usercode of the user , its user name is stored in another table which is linked to the aspnet_users table with a foreign key constraint.So how do I display the name of the user from that table in my navigation menu which will be floating towards the right.Much like Facebook does , it displays logged-in users name in the header. Edit:

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; 
        }

Thanks

Upvotes: 0

Views: 377

Answers (3)

User.Identity.Name can be used to access the username of the user. Have a look at this tutorial as it further explains how you can get membership information of user. http://mvctutorialsandguides.blogspot.co.nz/2013/03/mvc-c-sql-membership-provider-how-to.html Hope this helps.

Upvotes: 0

huMpty duMpty
huMpty duMpty

Reputation: 14470

Try User.Identity.Name

See more about HttpContext.User Property

If you need to get a different information from another table you can get the username and do something like this

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

ProviderUserKey is unique for each user and I guess you using that as the foreign key.Since you have ProviderUserKey you can get necessary details from your other table

Upvotes: 0

George Johnston
George Johnston

Reputation: 32258

You can use,

Membership.GetUser().UserName

...to get the currently logged in user. If the user is not logged in, you will get a null value returned by GetUser(), so code accordingly.

Upvotes: 1

Related Questions