c# - 获取当前用户的 ID ASP.NET Membership

标签 c# asp.net membership-provider

你们如何设法使用 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/

相关文章:

c# - 检测 ASP.NET 应用程序何时回收

c# - 在运行 .NET 4 的 IIS 7 上找不到默认角色提供程序

asp.net - 在 Active Directory 中创建用户时 RPC 服务器不可用

asp.net-membership - 将 ASP.NET Membership Provider 与现有用户数据库一起使用

c# - 使用C#在Excel工作表中添加下拉列表

c# - 单元测试时 EF Core 记录 SQL 查询

c# - 在 Windows Server 2012 中部署 ASP.NET MVC 5 应用程序

c# - 如何在 web.config 中设置 session 超时

c# - 查询包含一个或多个字符串的字符串

javascript - CheckBoxList 控件在回发后丢失所有项目