2013-12-23 37 views
1

我正在使用Formsauthentication登錄功能。如果會話超時,「HttpContext.Current.User.Identity.Name」是否返回空值?

我的會話配置是1分鐘,

<sessionState cookieless="false" timeout="1"/> 

我的窗體身份驗證設置,

<authentication mode="Forms">  
    <forms cookieless="UseCookies" defaultUrl="~/" loginUrl="~/user/signin" name="PMPLUSWeb" timeout="21680" slidingExpiration="true" /> 
</authentication> 

我設置窗體身份驗證的,

FormsAuthentication.RedirectFromLoginPage(userID, user.RememberMe); 

所以當我進入「的HttpContext。 Current.User.Identity.Name「我得到了用戶ID。

如果會話超時(1分鐘後),我認爲「HttpContext.Current.User.Identity.Name」也將過期。但值仍然存在,我仍然在1分鐘後獲得用戶ID。這個值存儲在哪裏?

是否從Cookie讀取值並通過請求發送?

回答

1

如果登錄cookie到期(我會避免使用術語"session"在這裏),然後HttpContext.Current.User將返回null和HttpContext.Current.Request.IsAuthenticated將返回false

欲瞭解更多有關如何用戶/ IsAuthenticated設置,採取看看thesetwo問題。