1. 程式人生 > >asp.net判斷使用者是否登入(SetAuthCookie相關問題)

asp.net判斷使用者是否登入(SetAuthCookie相關問題)

如果使用者登入後,你使用這個方法把使用者寫入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>