FormsAuthentication解密 无法验证数据
kln78 2019-04-03 11:15:49 在IIS上配置两个网站,一个是localhost:801 一个是localhost:802
801上的登录页面,做了forms验证 进行了加密,在802里进行FormsAuthentication.Decrypt(cookie.value).时说无法验证
801如下web.config
<authentication mode="Forms">
</authentication>
801验证代码
DateTime expirationDate = DateTime.Now.Add(FormsAuthentication.Timeout);
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,
TextBox1.Text,
DateTime.Now,
expirationDate,
true,
string.Format("{0}{1}{2}{1}{3}", SecurityValidationKey, "|", TextBox1.Text, TextBox2.Text),
FormsAuthentication.FormsCookiePath
);
string encryptedTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthCookieName, encryptedTicket);
cookie.Expires = true ? expirationDate : DateTime.MinValue;
cookie.HttpOnly = true;
cookie.Path = "/";
cookie.Domain = "localhost";
Response.Cookies.Set(cookie);
802解密代码
var cookie = Request.Cookies["aaa"];
var ticket = FormsAuthentication.Decrypt(cookie.Value);
802能获得cookie的值,但是解密出错