zoukankan      html  css  js  c++  java
  • 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); }
  • 相关阅读:
    Something about the "BSTR" and "SysStringLen"
    关于 i = i ++ 的问题
    duilib写个三国杀?
    关于WM_GETTEXT的应用
    hoops暂时用过的一些方法
    Hoops随便记的
    C++ win32线程数上限
    windows系统时间(SYSTEMTIME)
    Form表单提交的那些事
    多行文字溢出...
  • 原文地址:https://www.cnblogs.com/peteryu007/p/8625645.html
Copyright © 2011-2022 走看看