我已經實現了ASPNET成員資格提供程序,並且在Login1_LoggedIn
事件中,我試圖獲得Membership.GetUser()
或Page.Identity.User
,但它們都返回null。在Membership.GetUser()和Page.Identity.User中獲取「null」
我嘗試了其他人建議的不同解決方案,包括更改表格path="/"
但沒有運氣。但是,LoginName
控件正常工作並顯示username
。
有沒有人有一個想法,爲什麼?
我已經實現了ASPNET成員資格提供程序,並且在Login1_LoggedIn
事件中,我試圖獲得Membership.GetUser()
或Page.Identity.User
,但它們都返回null。在Membership.GetUser()和Page.Identity.User中獲取「null」
我嘗試了其他人建議的不同解決方案,包括更改表格path="/"
但沒有運氣。但是,LoginName
控件正常工作並顯示username
。
有沒有人有一個想法,爲什麼?
我已經找到了原因,ScottGu在他的博客文章中對它進行了很好的解釋。
嘗試在web.config中禁用非認證用戶:
<authorization>
<deny users="?" />
</authorization>
的HttpContext.Current.User不會pupulated直到調用:
FormsAuthentication.SetAuthCookie(UserName, False)
或
FormsAuthentication.RedirectFromLoginPage(UserName, False)