我正在开发一个从ASP.NET Web应用程序模板构建的示例项目(Web表单,而不是MVC)。用户登录后,我想获取用户的ID并将其存储在会话变量中,以便我可以在页面之间传递它。如何从ASP.NET成员资格提供程序获取用户的ID?根据用户的ID,我指的是成员资格数据库中的GUID。有没有方法来获取用户的ID?
我正在使用默认数据库架构并将其部署到我的服务器。
谢谢!
答案 0 :(得分:9)
试试这个:
MembershipUser membershipUser = Membership.GetUser();
string UserID = membershipUser.ProviderUserKey.ToString();
答案 1 :(得分:5)
您不需要传递用户ID。目前经过身份验证的用户存储在HttpContext.Current.User。
中答案 2 :(得分: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;
}