【问题标题】:Get userID in asp.net在asp.net中获取用户ID
【发布时间】:2012-03-28 16:16:15
【问题描述】:

我需要在ASP.net中获取登录用户的userId,我可以使用

System.Web.HttpContext.Current.User.Identity.Name

获取名称,但如何获取用户 ID?

我尝试了 (GUID) 和 Membership.GetUser,但似乎都没有。

【问题讨论】:

  • 你能解释一下你想通过一个例子得到什么吗?
  • 我正在尝试获取已登录用户的 userId,以便从数据库中获取该用户的记录。
  • 你能发布一些你的代码吗?

标签: asp.net vb.net


【解决方案1】:

检查ProviderUserKey 属性。

【讨论】:

  • 我不确定我是不是用错了,但我试过这个,就像我在谷歌搜索后看到的那样,它没有用。
  • 您得到什么错误或响应。这可能是一个愚蠢的问题,但您是否为您的应用程序配置了成员资格?
【解决方案2】:

这应该适合你

MembershipUser user = Membership.GetUser(HttpContext.Current.User.Identity.Name);
string userID = user.ProviderUserKey.ToString();

编辑:

您需要确保导入 System.Web.Security 类以使用 MembershipUser 类。在 VB.Net 中,您可以这样做:

HTML

<%@ Import Namespace="System.Web.Security" %>

代码背后

using System.Web.Security;

【讨论】:

  • 你试试这个结果是什么?它会出错吗?结果不是用户的实际指导吗?
  • MembershipUser 错误,缺少程序集、Membership.GetUser、程序集所需的引用和 user.ProviderUserKey,不是 'System.Security.Principle.IPrinciple 的成员
  • 您要导入 System.Web.Security 吗?
  • 对不起,我是 VB 新手,如何导入?
  • 仍然无法使用 MembershipUser
【解决方案3】:

Dim mu As System.Web.Security.MembershipUser = System.Web.Security.Membership.GetUser()

Dim strUsrId As String = mu.ProviderUserKey.ToString()

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 2014-05-02
    • 2017-05-12
    • 2014-12-31
    • 1970-01-01
    相关资源
    最近更新 更多