你们如何设法使用 ASP.NET 成员身份提供程序获取当前用户的 ID?我的应用程序是一个使用数据库优先方法的 MVC 3,所以我创建了自己的数据库,并且成员资格提供者和角色提供者正在使用我的表(自定义成员资格和角色提供者)。
在我的一个页面(反馈)中,用户可以发送关于我的网站的反馈,如果他已连接,我想在插入时将用户 ID 包含在表中。
但由于 ASP.NET 成员资格是一个 IIdentity,我唯一可以访问的就是名称。我不想使用名称在 2 个表之间创建链接,我想要 ID!
那么,对于这个非常简单的任务,您在应用程序中做了什么?我的意思是,几乎在每个连接用户需要插入值的页面中,我们都需要用户 ID 来为用户表创建正确的外键,对吗?顺便说一下,我是这个 MVC 框架的新手,在此之前我使用的是 ASP.NET aspx,对于用户信息,我使用的是 Session,它根据需要为我提供当前 ID、名称和其他字段。由于使用 Session 对象的这种实现方式给我带来了共享托管方面的麻烦,因此我想使用真实的成员身份。
谢谢!
编辑
我要的ID必须是整数(其实我要的是User表中的UserID字段)
最佳答案
试试这个;
MembershipUser mu = Membership.GetUser("username");
string userId = mu.ProviderUserKey.ToString();
对于当前登录的用户,您可以在不传递用户名的情况下使用;
string userId = Membership.GetUser().ProviderUserKey.ToString();
关于c# - 获取当前用户的 ID ASP.NET Membership,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13159087/