0

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

4

3 回答 3

2

你已经有这个问题了吗?

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

于 2012-05-31T14:26:50.917 回答
2

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

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

FormsAuthentication.SetAuthCookie(userId);
于 2012-05-31T14:31:08.630 回答
0

正如达林所说,这是设计使然。

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

于 2012-05-31T14:28:39.463 回答