asp.net mvc 3上“User.Identity.Name”的值

时间:2012-05-31 14:20:32

标签: asp.net-mvc-3 httpcontext

我使用asp.net mvc 3在web应用程序上工作,问题是变量“User.Identity.Name”taht返回名称而不是UserId。你有这个问题吗?

3 个答案:

答案 0 :(得分:2)

  你已经有这个问题吗?

这不是问题。这是设计的。在表单身份验证cookie中,仅存储用户名。您可以在用户名列上拥有数据库索引,并在给定此唯一用户名的情况下有效地检索用户详细信息。

答案 1 :(得分:2)

User.Identity.Name属性包含在身份验证期间传递给FormsAuthentication.SetAuthCookie(thisString)的字符串。

如果您希望此属性包含userId,请将身份验证代码更改为

FormsAuthentication.SetAuthCookie(userId);

答案 2 :(得分:0)

正如达林所说,它的设计。

在表单身份验证Cookie创建方法中,只需将您的UserID保存在Name属性