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;
    }
        

  • 相关阅读:
    C++ 安全字符串拼接
    C code 字符串与整数的相互转化
    深入解析:分布式系统的事务处理经典问题及模型
    .NET分布式事务处理总结【下】
    用csc命令行手动编译cs文件
    委托和事件
    C#中的lock关键字
    SQL索引详解
    Quartz.NET 入门
    使用Topshelf创建Windows服务
  • 原文地址:https://www.cnblogs.com/kokoliu/p/660114.html
Copyright © 2011-2022 走看看