我已经实现了 ASPNET 成员资格提供程序,并且在Login1_LoggedIn
活动中,我尝试获取Membership.GetUser()
或Page.Identity.User
但它们都返回 null。
我尝试了其他人建议的不同解决方案,包括改变形式path="/"
,但没有运气。然而,LoginName
控制工作并username
正确显示。
有谁知道为什么?
尝试在 web.config 中禁用未经身份验证的用户:
<authorization>
<deny users="?" />
</authorization>
HttpContext.Current.User 在您调用之前不会填充:
FormsAuthentication.SetAuthCookie(UserName, False)
或者
FormsAuthentication.RedirectFromLoginPage(UserName, False)
我找到了原因,ScottGu 在他的博客文章中很好地解释了这一点。