在asp mvc会员资格中记住我的问题

时间:2017-06-11 07:31:12

标签: c# asp.net-mvc https asp.net-membership

我有 https 网站,我正在使用会员登录和 我在控制器中的代码:

int timeout = rememberme ? 2880 : 2; // Timeout in minutes,525600 = 365 days
var ticket = new FormsAuthenticationTicket(username, rememberme, timeout);
string encrypted = FormsAuthentication.Encrypt(ticket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encrypted);
cookie.Expires = DateTime.Now.AddMinutes(timeout);//My Line
Response.Cookies.Add(cookie);

string returnurl = FormsAuthentication.GetRedirectUrl(username, rememberme);
if (string.IsNullOrEmpty(returnurl)) returnurl = "/Panel/Login";

if (string.IsNullOrEmpty(returnurl)) returnurl = "/Panel/Login";
if (rol == "User")
    return Redirect("/Panel/Dashboard");
else if (rol == "Admin")
    return Redirect("/Panel/DashboardAdmin");

return View();

并在we.config中:

<httpRuntime targetFramework="4.6.2" executionTimeout="100000000" maxRequestLength="2147483647" />
<authentication mode="Forms">
  <forms loginUrl="~/Panel/Login" requireSSL="true" slidingExpiration="true" />
</authentication>
<httpCookies httpOnlyCookies="true" requireSSL="true" />

所以它只是保持登录2分钟,并记住我没有工作 我该怎么办?

1 个答案:

答案 0 :(得分:1)

we should add this to system.web in web.config file an U can generate this key in iis but if U can access to iis U can use this code

    <machineKey
  decryptionKey="1513F567EE75F7FB5AC0AC4D79E1D9F25430E3E2F1BCDD3370BCFC4EFC97A541"
  validationKey="32CBA563F26041EE5B5FE9581076C40618DCC1218F5F447634EDE8624508A129"
  decryption="AES"
  validation="SHA1"
  />