zoukankan      html  css  js  c++  java
  • Limiting Persistent Authentication Cookie Lifetime

    void Application_EndRequest(Object sender, EventArgs e)
    {
        
    // Change the expiration date on outgoing persistent forms
        
    // authentication tickets to 24 hours hence.
        HttpCookie cookie1 = GetCookieFromResponse(
            FormsAuthentication.FormsCookieName);

        
    if (cookie1 != null && !String.IsNullOrEmpty (cookie1.Value))
        
    {
            FormsAuthenticationTicket ticket1 
    = FormsAuthentication.Decrypt(
                Response.Cookies[FormsAuthentication.FormsCookieName].Value);
            
    if (ticket1.IsPersistent)
            
    {
                FormsAuthenticationTicket ticket2 
    =
                    
    new FormsAuthenticationTicket (
                    ticket1.Version, ticket1.Name, ticket1.IssueDate,
                    DateTime.Now.AddHours (
    24), // New expiration date
                    ticket1.IsPersistent, ticket1.UserData,
                    ticket1.CookiePath
                );

                Response.Cookies.Remove(FormsAuthentication.FormsCookieName);
                HttpCookie cookie2 
    = new HttpCookie(
                    FormsAuthentication.FormsCookieName,
                    FormsAuthentication.Encrypt(ticket2));
                cookie2.Expires 
    = ticket2.Expiration;
                Response.Cookies.Add(cookie2);
            }

        }

    }


    HttpCookie GetCookieFromResponse (
    string name)
    {
        HttpCookieCollection cookies 
    =
            HttpContext.Current.Response.Cookies;
        
    int count = cookies.Count;
        
    for (int i=0; i<count; i++{
            
    if (String.Compare (cookies[i].Name, name, true== 0)
                
    return cookies[i];
        }

        
    return null;
    }
        

  • 相关阅读:
    iOS 网络优化--页面返回的时候取消网络请求
    iOS 内存管理
    realm数据库使用
    KNN 算法分类电影类型
    sklearn库学习之01
    Python 生成4位验证码图片
    Python——读写Excel文件
    KNN--用于手写数字识别
    Python基础学习-'module' object has no attribute 'urlopen'解决方法
    swift_通知的使用
  • 原文地址:https://www.cnblogs.com/kokoliu/p/660114.html
Copyright © 2011-2022 走看看