asp.net判斷使用者是否登入(SetAuthCookie相關問題)
阿新 • • 發佈:2019-01-02
如果使用者登入後,你使用這個方法把使用者寫入cookie,則會自動建立身份驗證票。FormsAuthentication.SetAuthCookie(tbUserName.Text, true);
如何判斷使用者是否已登入呢?
方法一-----------------------
if (Context.User.Identity.IsAuthenticated)
{
// 已經登入的
}
方法二------------------------------------------------------
if(Request.IsAuthenticated)
{
//同上
}
FormsAuthentication.SetAuthCookie(tbUserName.Text, true);
當使用了這個方法後,想取出登入的使用者名稱,用以下方法:
Context.User.Identity.Name.ToString()
原理:因為使用了用Form身份驗證,這是系統維護的一個當前使用者。如果使用Form驗證,這就是登入者;如果採用Win驗證,就是訪問者登入機器的使用者身份(類似於域使用者);
要實現以上功能,還必須在Web.config中新增如下
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/login_t/login_t.aspx" name=".ASPXFORMSAUTH" timeout="2880"/>
</authentication>
</system.web>