FormsAuthenticationTicket的版本号中是否有任何限制。
我尝试使用表单身份验证创建一个ASP.NET cookie,版本号较大(例如:1234567需要此号码才能进行标识)。但是当我解密cookie时,我得到135作为版本号。
最初删除了旧表单身份验证Cookie,以便添加新信息。
Response.Cookies.Remove(FormsAuthentication.FormsCookieName);
以下是我用于创建FormsAuthentication cookie的代码。
FormsAuthenticationTicket newAuthTicket = new FormsAuthenticationTicket(1234567, un, DateTime.Now, DateTime.Now.AddHours(5F), false, user_data);
HttpCookie newauthCookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(newAuthTicket));
Response.Cookies.Add(newauthCookie);
检索cookie后,我得到的版本号是135.这个数字因版本号不同而不同。
string cookieName = FormsAuthentication.FormsCookieName;
HttpCookie authCookie = Context.Request.Cookies[cookieName];
if (authCookie == null)
{
return;
}
FormsAuthenticationTicket authTkt = null;
authTkt = FormsAuthentication.Decrypt(authCookie.Value);
if (authTkt == null)
{
return;
}
int versionID = authTkt.Version;
有人可以告诉我使用这么大的版本号码是不是一个坏主意,或者我错过了这个。
感谢您的帮助, 维杰
答案 0 :(得分:0)
确保故障单名称不会传递为null。