用这种方法可以产生COOKIE://isPersistent为true;FormsAuthentication.SetAuthCookie(Session["UserName"].ToString() ,isPersistent) ;
但用下面这种方法就产生不了COOKIE:
string userRoles = "Administrator//调用UserToRole方法来获取role字符串
FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket (
1,
Session["UserName"].ToString() ,
DateTime.Now,
DateTime.Now.AddMinutes(30), 
isPersistent,
userRoles,
"/") ; //建立身份验证票对象
string HashTicket = FormsAuthentication.Encrypt (Ticket) ; //加密序列化验证票为字符串
HttpCookie UserCookie = new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket) ; 
//生成Cookie
Context.Response.Cookies.Add (UserCookie) ; //输出Cookie另外:FormsAuthentication.SetAuthCookie和FormsAuthenticationTicket这两种方法产生的是不是同样的效果的?(如果第二种是正确可以写入Cookie的话)
请各位指示..

解决方案 »

  1.   

    FormsAuthentication.SetAuthCookie 方法是将身份验证票发送到客户端,而FormsAuthenticationTicket是身份验证票,不知道楼主说的两种方法是怎么回事?
      

  2.   

    可能我表达的不太清楚,我的意思是说:
    FormsAuthentication.SetAuthCookie可以把Cookie写到客户端的机器里(就是在Cookie目录里可以看得见,可以可以下次不用登录就直接进入了程序)而FormsAuthenticationTicket里面明明是有办法写Cookie到客户端的机器里的,但我查看了一下,就是没有Cookie产生,结果每次都得要登录才能进入程序.
    虽然不太影响我的程序,但总是想搞明白这两个的不同之处而已.谢谢娃兄~:)~