Dim ticket As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, username, Date.Now, Date.Now.AddMinutes(30), True, userData, FormsAuthentication.FormsCookiePath)
Dim encTicket As String = FormsAuthentication.Encrypt(ticket)
Response.SetCookie(New HttpCookie(FormsAuthentication.FormsCookieName, encTicket))
Response.Redirect(redirectTarget, False)
在重定向之前,Response.Cookies(FormsAuthentication.FormsCookieName).Value
返回一个很长的字符串,它是加密的FormsAuthenticationTicket
。
但是,重定向之后,Request.Cookies(FormsAuthentication.FormsCookieName)
是Nothing
。如果我用短字符串或空字符串替换cookie数据,则cookie可以正常工作,因此我认为问题是由于cookie数据的长度造成的。
有人知道我如何很好地将FormsAuthenticationTicket
存储为cookie?