asp.net mvc FormsAuthentication一些問題


form驗證最簡單的一句

FormsAuthentication.SetAuthCookie(”userName", false);

 

web.config里加上 

   <machineKey validationKey="9912131415161718190a0b0c0d0e0f1011987654" decryptionKey="99225577bbaa9988" validation="SHA1" /> 
當然validationKey decryptionKey可以改。
這個用處其實就是定住秘鑰,試驗了一下,先驗證了,把w3wp關閉或者應用池重啟,如果沒有這行,頁面上用戶就掉了,有這行頁面用戶就還在,說明沒有這行每次w3wp運行就會隨機生成秘鑰。加上這行一方面用來多台負載均衡,就算單服務器可以可以防止應用池重啟,前台掉用戶。
 
 
另外 應該是
 
     <forms name=".ASPXAUTH" cookieless="UseCookies" loginUrl="~/Home/Index" defaultUrl="~/HomePage" timeout="10" protection="All" slidingExpiration="true" enableCrossAppRedirects="true" />
     
slidingExpiration 如果設置false,就是只算開始時間+timeout ,無論中間是否有刷新,都不在更新,18:00 + 10分鍾過期,到18:10一定過期。
設置了true,到timeout一半的時候,會刷新過期時間再加+timeout ,也就是 18:05時候刷新會到 18:15(還是18:20,到時候再測下,反正會更新)
測試代碼
    

public ActionResult Contact() { var formsIdentity = this.User.Identity as FormsIdentity; var result =new Result {IsAuthenticated = this.User.Identity.IsAuthenticated,Name= this.User.Identity.Name}; if (formsIdentity != null) { result.Ticket = formsIdentity.Ticket; result.Expiration = formsIdentity.Ticket.Expiration.ToString(); result.IssueDate = formsIdentity.Ticket.IssueDate.ToString(); } return Json( result ,JsonRequestBehavior.AllowGet); }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM