Użytkownicy proszeni są o logowanie co 20 minut.
Jedna z tych sytuacji, w których nie wiesz, gdzie szukać. Używam C # MVC 5 IdentityFramework 1.0.0
Chcę zrobić limit czasu do 4 godzin.
Do tej pory próbowałem w web.config:
<system.web>
<sessionState timeout="2880"></sessionState>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
</system.web>
iw Startup.Auth.sc:
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
ExpireTimeSpan = TimeSpan.FromHours(4),
CookieSecure = CookieSecureOption.Never,
CookieHttpOnly = false,
SlidingExpiration = true,
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login")
});
czego mi brakuje?
EDYCJA - ROZWIĄZANIE
Rozwiązaniem jest umieszczenie machineKey w web.config w systemie.web. Generator kluczy można znaleźć http://aspnetresources.com/tools/machineKey
Migrowałem również do Identity 2.0 i zachowałem te ustawienia. Migrowałem używając tego bloga jako guid: http://typecastexception.com/post/2014/07/13/ASPNET-Identity-20-Extending-Identity-Models-and-Using-Integer-Keys-Instead-of-Strings.aspx
Odpowiedzi:
2 dla odpowiedzi № 1Czy zdarza się to nawet wtedy, gdy uruchamiasz witrynę lokalnie? Spojrzeć na ten wpis na blogu opis podobnego przypadku.
Punkt z postu na blogu to:
... pamiętaj, że uwierzytelnianie za pomocą formularzy wykorzystuje klucz MachineKey komputera zaszyfrować plik cookie uwierzytelniania formularzy. „Czy klucz maszynowy może być zmienia się z czasem na moim wspólnym serwerze hostingowym? ”, zastanawiałem się.
Zanim wyślesz im e-maila z zapytaniem, spojrzałem nadokumentacja dla MSDN dla machineKey i odkrył, że istnieje tryb AutoGenerate, który może być ustawione na regenerację nowego klucza maszyny za każdym razem, gdy proces hosta dla aplikacja internetowa uruchamia się… po 20 minut bezczynności! Ah ha!
0 dla odpowiedzi nr 2
Upewnij się, że nie masz żadnych ajaxów tłaaktywność podczas sesji (SlidingExpiration jest domyślnie prawdziwe). Musisz także ręcznie usunąć stare pliki cookie po zmianie ExpireTimeStamp z domyślnych 14 dni na mniejszą wartość.