如何获取当前登录用户的ID?

4
我正在处理一个使用ASP.NET Web应用程序模板(Web Forms而非MVC)构建的示例项目。在用户登录后,我想获取用户的ID并将其存储在会话变量中,以便我可以在页面之间传递它。如何从ASP.NET成员资格提供程序中获取用户的ID?通过用户的ID,我指的是成员资格数据库中的GUID。是否有一种方法可以获取用户的ID?
我正在使用默认的数据库架构,并将其部署到我的服务器。
谢谢!
3个回答

9

试试这个:

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

5

1

您可以在类中定义一个静态方法并使用它:

public static Guid getCurrentUserGUID(){
    if (HttpContext.Current.User.Identity.IsAuthenticated)
    {
        MembershipUser myObject;
        myObject = Membership.GetUser(HttpContext.Current.User.Identity.Name);
        return (Guid)myObject.ProviderUserKey;
    }
    return Guid.Empty;       
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接