请问FormsAuthenticationTicket属性中Expiration、IsPersistent有什么关系。

解决方案 »

  1.   

    两个要结合起来用,当IsPersistent是true,那么Expiration就是cookie的过期时间,否则的话,无论
    Expiration是什么值,只要一关IE,Forms验证就过期了。
      

  2.   

    那么<forms>中timeout设置后,那么FormsAuthenticationTicket中过期时间还有效码?
      

  3.   

    System.Web.Security.FormsAuthenticationTicket ticket = new System.Web.Security.FormsAuthenticationTicket(2,"waley",DateTime.Now,DateTime.Now.AddMinutes(1d),true,"[email protected]");
    string s = System.Web.Security.FormsAuthentication.Encrypt(ticket);
    System.Web.Security.FormsAuthentication.SetAuthCookie("waley",true);
    Response.Redirect(System.Web.Security.FormsAuthentication.GetRedirectUrl("waley",true));请问我怎么在其他页面中取得ticket?
    System.Web.Security.FormsAuthentication.Decrypt(Request.Cookies[System.Web.Security.FormsAuthentication.FormsCookieName].Value)
    以上的语句好像并不能得到这个ticket
      

  4.   

    <forms>中timeout和你说的不是一回事情,它是说当你不关闭IE并且没有流揽新网页的情况下,forms验证在多长时间后过期。
      

  5.   

    forms验证过期和FormsAuthenticationTicket过期有什么不同吗?两者都是要重定向到登陆页面的吧
      

  6.   

    HttpContext.Current.User.Identity就是你要的用户信息,比如Ticket中的名称,就是HttpContext.Current.User.Identity.Name
      

  7.   

    User并不能得到自定义ticket的userdate值。
      

  8.   

    身份验证票过期和存放身份验证票的cookie的过期时间有什么关系
      

  9.   

    http://dev.csdn.net/develop/article/18/18958.shtm
    好好看看这篇文章
      

  10.   

    看了上面的文章了,但还是有点问题。
    我始终搞不清楚cookie的expires和FormsAuthenticationTicket的expiration的关系,我实验过了,即使把FormsAuthenticationTicket的设置成“持久性”、expiration设置成最大,再把cookie的expires设置成DateTime.Now.AddMinutes(1),好像最后过期时间由cookie的expires决定了。
      

  11.   

    所谓持久性,我看好像就是cookie和身份票的过期时间比较长的意思吧
      

  12.   

    dna_xp(dna)  
    我也有同样的问题,不能变为持久性的.
    高手解答
      

  13.   

    所谓的持久性就是默认的50年
    记住密码的意思。
    如果不用带角色的Form验证就可以在 IE临时文件 看到一个cookie 50年过期的
    但用了带角色的验证后就没有cookie产生了
      

  14.   

    FormsAuthentication.RedirectFromLoginPage(userName,true);
    加上这句话就可以写入cookie了.但是这样 角色就不好用了。
    如何解决呢
      

  15.   

    我看身份验证票的过期时间,以cookie和FormsAuthenticationTicket的最短过期时间为准,而使用FormsAuthentication.RedirectFromLoginPage(userName,true)实际上是有系统自动给两个过期时间设置为50年,就这么会事,MSDN也没有写清楚,呵呵。
     supersyd(达达)
    如果你要使用角色的话,就不要使用FormsAuthentication.RedirectFromLoginPage(userName,true)这种形式发送cookie,需要自己写全FormsAuthenticationTicket的相关属性