我想MembershipUser从我的页面获取最新信息.
Membership.GetUser();
Run Code Online (Sandbox Code Playgroud)
返回null.
不能用
HttpContext.Current.User.Identity.Name
Run Code Online (Sandbox Code Playgroud)
因为它根据我的配置返回我的个人资料名称以获取用户名.
我如何获得当前用户?
更新:会员提供商是 SqlMembershipProvider
Sau*_*abh 10
Membership.GetUser()仅适用于经过身份验证的用户.否则,它将返回null.要验证您是否正在处理经过身份验证的请求,请在页面上调用"User.Identity.IsAuthenticated".如果您有经过身份验证的请求,但Membership.GetUser()仍然返回null,则表示在Membership数据源中找不到与经过身份验证的用户关联的用户名.使用"User.Identity.Name"验证经过身份验证的用户的用户名.
如果您正在调用其中一个使用用户名并且返回null的Membership.GetUser()重载,那么该成员数据源中不存在该用户(或者我们有一个错误).轻松验证这一点的一种方法是尝试使用相同用户名的Membership.CreateUser().如果由于重复的用户而没有引发错误,那么您就知道用户从未存在过.
Membership.GetUser()应该从未为匿名用户工作过.处理此案件时,会员资格中没有内置支持.