C# Asp.Net身份验证(自动注销)
在我的应用程序中,我使用了Asp.Net表单身份验证C# Asp.Net身份验证(自动注销),c#,asp.net,asp.net-mvc-3,C#,Asp.net,Asp.net Mvc 3,在我的应用程序中,我使用了Asp.Net表单身份验证 FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( 1, adminResult.UserName, DateTime.Now, DateTime.Now.AddDays(2),
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1,
adminResult.UserName,
DateTime.Now,
DateTime.Now.AddDays(2),
true,
"Administrator",
FormsAuthentication.FormsCookiePath
);
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie coockie = new HttpCookie(FormsAuthentication.FormsCookieName, hash);
if (ticket.IsPersistent)
{
coockie.Expires = ticket.Expiration;
}
Response.Cookies.Add(coockie);
if (Url.IsLocalUrl(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Dashboard", "Cockpit");
}
但它会在10到15秒内自动注销
解决办法是什么
感谢可能是因为垃圾收集器清除并重新分配了应用程序的机器密钥。并将其放置在web.config中
<system.web>
<machineKey validationKey="###YOUR KEY HERE ###"
decryptionKey="## decrypt key here ##"
validation="SHA1" decryption="AES" />
MachineKey用于ViewState加密和验证,FormAuthentication
使用此密钥对验证票证进行签名,如果您未在web.config
中指定,则会自动分配,但如果您自己指定,则收集器不会清除它。。。
这是一篇信息丰富的文章,它可能会帮助您更好地理解MachineKey的重要性/工作原理请与您分享web.config详细信息谢谢,先生,它有效,机器密钥是否会愚弄垃圾收集器。机器钥匙是如何工作的,请回复。