ASP.NET 成员资格 : Where is Current User ID Stored?

标签 asp.net asp.net-membership

使用 ASP.NET 成员资格,如果我想获取当前用户的信息,我可以调用 MembershipUser.GetUser()
因此,系统必须以某种方式知道当前用户的 ID。

如果这是正确的,并且我想要的只是当前用户的 ID,有没有办法在不从数据库返回所有用户信息的情况下获取它?

我知道我可以使用 User.Identity.Name 获取当前用户的用户名,但我需要身份证。

最佳答案

简短的回答是不,当您使用内置成员(member)提供程序时,您不能只获取用户 ID 而不会检索整个用户信息,只能通过这个

    MembershipUser user = Membership.GetUser();
    string UserID = user.ProviderUserKey.ToString();

但是,如果您想拥有仅检索用户 ID 的方法或属性,则必须重新实现自己的成员资格提供程序或(很简单)实现 IPrincipal 接口(interface)

关于ASP.NET 成员资格 : Where is Current User ID Stored?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8860224/

相关文章:

c# - 使用 WMI 和 Win32_Process 创建远程进程

c# - 如何有选择地验证一些数据注释属性?

javascript - 使用 Javascript 检查 HTML

asp.net 成员(member)/角色/个人资料提供者 - 好还是坏?

asp.net - 如何在不使用 MembershipProvider 的情况下使用 ASP.NET 登录控件?

c# - 我可以从数据库中获取成员身份的解密密码吗?

c# - 远程服务器返回错误 : (405) Method Allowed

asp.net - 为什么 Chrome 和 Firefox 不在 Ajax 请求中发送 FormAuthentication cookie

c# - 当您只能使用存储库时,为什么还要使用 ASP.NET 成员(member)资格提供程序?是不是安全性比较好?

model-view-controller - 如何在自定义MembershipProvider上调用Initialize?