登录用户的ID
如何获取登录用户的UserId? 我正在使用标准系统生成的AccountModel。 我可以使用以下命令获取用户名
User.Identity.Name
但我没有看到UserId字段。 我想将UserId用作另一个表的外键。
我认为您正在寻找ProviderUserKey – 从用户的成员资格数据源中获取用户标识符。
object id = Membership.GetUser().ProviderUserKey
Membership.GetUser() – 从数据源获取信息,并更新当前登录成员资格用户的上次活动日期/时间戳。
试试这个:
using Microsoft.AspNet.Identity; User.Identity.GetUserId();
这就是它在当前MVC(MVC5 / EF6 / VS2013)模板的部分视图中的完成情况。
如果我错了,请纠正我,因为我已经看过很多Aviatrix的答案,但是如果多个用户在数据库中有相同的名字会怎么样?
最好的方法是使用WebSecurty类
var memberId = WebSecurity.GetUserId(User.Identity.Name);
并且不要忘记在控制器上添加[InitializeSimpleMembership]
🙂