从控制器,我如何获得用户

时间:2015-05-21 00:30:26

标签: c# asp.net-mvc razor

我是MVC的新手并且有一个问题。 Visual Studio模板创建一个表dbo.AspNetUsers,其中包含一个名为Id的列。从我的控制器中我想为登录的用户获取该值

    public ActionResult Index ()
    {

        if (!Request.IsAuthenticated) // if not logged in 
        {
            Response.StatusCode = 404;
            return null;
        }
        else
        {
             string thisUserId = ???
             // do something with thisUserId
        }

我查看了源文件,但无法弄清楚我是如何得到这些文件的。

1 个答案:

答案 0 :(得分:1)

这适用于我的项目(使用System.Web.Security.SqlMembershipProvider

HttpContext httpContext = HttpContext.Current;
string userName = httpContext.User.Identity.Name;
MembershipUser membershipUser = Membership.GetUser(userName);
object providerUserKey = membershipUser.ProviderUserKey;
string thisUserId = providerUserKey.ToString();