2012-11-28 131 views
0

我有如下一個web.config:web.config中的窗體身份驗證,cookiename

<system.web> 
<customErrors mode="Off"/> 

<authentication mode="Forms"> 
    <forms loginUrl="Login.aspx" name="SIPE_ASPXAUTH"> 
    <credentials passwordFormat="Clear"> 
     <user name="user1" password="123456"/> 
     <user name="user2" password="123456"/> 
     <user name="user3" password="123456"/> 
    </credentials> 

    </forms> 

</authentication> 


<authorization> 

    <deny users="?"/> 
</authorization> 
<compilation debug="true"/> 

這web.config中始終重定向我到以下網址

http://localhost:53077/Login.aspx?ReturnUrl=%2fDefault.aspx 

我起始頁面是一個Login.aspx,即使輸入了正確的credentails,它也會將我重定向到上面的url。

所以這就是我所做的。 我在

<forms loginUrl="Login.aspx"> 

拿出name屬性,離開一切不變。 它完美的作品。

任何人都可以解釋爲什麼。 我知道這是一個cookiename,默認是ASPXAUTH。這個cookie用於認證用戶。此外它存儲在工具..選項...

設置此cookiename有什麼用處。是否允許functinality.n 跨瀏覽器的我怎麼會做出這種由<forms loginUrl="Login.aspx">

具有name屬性上班感謝ü

回答

0

配置設置似乎是確定的,但你必須寫一些代碼你登錄頁面的代碼行爲也適用於表單身份驗證。檢查用戶名後&密碼是corrent你必須寫下面的代碼:

FormsAuthentication.SetAuthCookie(
       this.TextBox_username.Text.Trim(), flase); 

     FormsAuthenticationTicket ticket1 = 
      new FormsAuthenticationTicket(
       1,         // version 
       this.TextBox_username.Text.Trim(), // get username from the form 
       DateTime.Now,      // issue time is now 
       DateTime.Now.AddMinutes(10),   // expires in 10 minutes 
       false,  // cookie is not persistent 
       "HR"        // role assignment is stored 
       // in userData 
       ); 
      HttpCookie cookie1 = new HttpCookie(
      FormsAuthentication.FormsCookieName, 
      FormsAuthentication.Encrypt(ticket1)); 
      Response.Cookies.Add(cookie1); 

有關窗體身份驗證更詳細Click Here