2017-06-11 7 views
1

Ich habe https Website und ich die Mitgliedschaft in der Steuerung für Logins und meinem Code verwende:Problem mit erinnere mich in asp mvc Mitgliedschaft

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(); 

und in 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" /> 

so ist es nur für 2 Minuten Login und erinnere mich daran, funktioniert nicht was soll ich tun?

+0

ich das nicht denken können ist SSL verwandt. – Stefan

+0

\ ist Ihr Problem, dass Timeout bei 2 fest ist? – Stefan

+0

Tanks für Ihre Antwort, ich weiß nicht, seine 2 Minuten oder was auch immer es gerade nicht funktioniert und nach kurzer Zeit wird es ausloggen (und ich weiß nicht, es ist 2 min oder mehr) –

Antwort

1

wir diese hinzufügen sollten in der Datei web.config ein U System.web kann diesen Schlüssel in iis erzeugen, aber wenn U iis zugreifen U diesen Code

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