获取当前用户 ID

本文关键字:ID 用户 获取 | 更新日期: 2023-09-27 18:33:45

我正在尝试获取本文中提到的当前登录用户的UserId http://msdn.microsoft.com/en-us/library/aa478949.aspx 作为aspnet_Membership表的一部分。

这是我正在寻找的地方:

    MembershipUser user = null;
    if (User != null && User.Identity != null && !string.IsNullOrEmpty(User.Identity.Name))
    {
        user = Membership.GetUser(User.Identity.Name);
    }
    if (user != null)
    {
        //int id = user.UserId;
    }

成员资格用户没有用户 ID。我正在尝试将 UserId 用作我将创建的其他表的外键。我可以使用用户名,但我认为使用UserId可能会更好。

获取当前用户 ID

尝试查看 MemberUser.ProvideUserKey 属性是否适合您

从上面的链接:

属性公开类型化为对象的成员资格数据源中的标识符。标识符的类型取决于会员提供程序或成员资格用户。对于 SqlMemberProvider,ProviderUserKey 可以强制转换为 GUID,因为 SqlMemberProvider 将用户标识符存储为 UniqueIdentifier。

Membership.GetUser().ProviderUserKey

GetUser() 将获取当前用户,ProviderUserKey 将是 Id,它将作为一个对象出现,您将希望将其转换为它的真实情况,int、guid 等。