Chcę zezwolić administratorom na zalogowanie się na dłużej niż zwykli użytkownicy. Nie widzę haka do ustawiania timeouta cookie programowo lub w sposób oparty na rolach. Czy jest to możliwe w ASP przy użyciu uwierzytelniania formularzy?Ustawianie długości limitu czasu uwierzytelniania cookie na podstawie roli w ASP.NET
Odpowiedz
Tak, możesz to zrobić. Trzeba wygenerować bilet uwierzytelniający ręcznie, zamiast pozwolić, aby framework wygenerował go automatycznie.
W zależności od roli użytkownika, daty ważności przypisanej do biletu.
SNIPPET:
switch Role:
Case A: VARIABLE X = Y; BREAK;
CASE B: VARIABLE X = Y2; BREAK;
..
End switch
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
1, // Ticket version
Username.Value, // Username associated with ticket
DateTime.Now, // Date/time issued
DateTime.Now.AddMinutes(VARIABLE X), // Date/time to expire
true, // "true" for a persistent user cookie
reader.GetString(0), // User-data, in this case the roles
FormsAuthentication.FormsCookiePath);// Path cookie valid for
// Encrypt the cookie using the machine key for secure transport
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(
FormsAuthentication.FormsCookieName, // Name of auth cookie
hash); // Hashed ticket
// Set the cookie's expiration time to the tickets expiration time
if (ticket.IsPersistent) cookie.Expires = ticket.Expiration;
Response.Cookies.Add(cookie);
Bardzo jasne i pomocne! Dziękuję Ci! Jeśli używam przeciążenia FormsAuthenticationTicket otrzymującego tylko nazwę użytkownika ciągu znaków, bool IsPersitent i int timeout, czy też wykonam szyfrowanie i przypisanie do pliku cookie? –
Rozumiem stąd: https://msdn.microsoft.com/en-us/library/w04e17xz(v=vs.100).aspx w uwagach, że FormsCookiePath jest ustawiany automatycznie, więc szyfrowanie itp. Będzie zrobił to samo. –
- 1. Ustawianie limitu czasu limitu czasu oczekiwania w joomla
- 2. Ustawianie limitu czasu rozmów CDI na świecie
- 3. Ustawianie limitu czasu na funkcję recv
- 4. Ustawianie limitu czasu na wywołanie urllib2.request()
- 5. Nie można zwiększyć limitu czasu plików cookie ASP.NET MVC FormAuthentication
- 6. Ustawianie limitu czasu w skryptach Google Apps
- 7. Dostosowywanie limitu czasu sesji na użytkownika - ASP.NET
- 8. HttpListener ustawianie całkowitego limitu czasu połączenia
- 9. Ustawianie limitu czasu dla żądania Android: SingleUpdate
- 10. Ustawianie limitu czasu usługi .NET Web Service
- 11. Dnspython: Ustawianie limitu czasu kwerendy/okresu ważności
- 12. Ustawianie długości sesji z Devise
- 13. ręcznie usuń pliki cookie uwierzytelniania asp.net
- 14. Zabezpieczanie uwierzytelniania opartego na plikach cookie
- 15. Ustawianie limitu czasu globalnego w Ember-cli dla Qunit
- 16. Jak zdobyć użytkowników na podstawie roli?
- 17. Uwierzytelnianie systemu Windows ASP.NET MVC na podstawie uwierzytelniania formularzy
- 18. Zapobieganie przekroczeniu limitu czasu sesji ASP.NET podczas korzystania z Silverlight
- 19. Ustawianie limitu czasu dla określonego zadania z selerem
- 20. warunkowe na podstawie czasu
- 21. Różnice w formach dopuszczonego limitu czasu sesji i limitu czasu
- 22. Członkostwo w ASP.net - dodanie roli
- 23. Pozostało czasu na sesję do czasu przekroczenia limitu czasu
- 24. ASP.net jest użytkownikiem w roli
- 25. Ustawianie wartości AsyncPostBackTimeout ScriptManagera na stronie treści ASP.NET
- 26. Metoda limitu czasu w java
- 27. Planowanie limitu czasu w Haskell
- 28. Wykrywanie limitu czasu w ffmpeg
- 29. feedparser z limitu czasu
- 30. Formularz logowania Asp.net do uwierzytelniania formularzy
Dzięki! Idealny link. – Wyatt