Jak powinna działać aplikacja z logowaniem?

Jak powinna działać aplikacja z logowaniem?
RE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
0

Cześć, jestem początkującą osobą i nie mogę sobie uporządkować pewnych informacji dotyczących logowania. Korzystając z gotowego szablonu ASP NET MVC Internet Apllication, Microsoft używa ciasteczek do uwierzytelniania uzytkownika. Czy to jest jedna z metod autentykacji, dlaczego akurat ciasteczko? Ponadto gdzie podziała się Sesja, czy ona w ogóle jest wymagana podczas korzystania z aplikacji? Wiem czym są pliki cookie i czym jest sesja, ale nie potrafię zrozumieć jak dla uwierzytelnionego user'a aplikacja powinna działać?
Proszę o jakieś informację i wskazówki.
Dziękuję i pozdrawiam.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
0

Ciasteczko to nie jest metoda uwierzytelniania tylko sposób na zapisywanie danych przez witrynę po stronie użytkownika (przeglądarki). Innego sposobu, żeby zrobić to automatycznie i przezroczyście dla użytkownika nie ma.
To ciasteczko zawiera ID sesji, która nadal istnieje po stronie aplikacji (czyli na serwerze).

RE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
0

ID sesji ciasteczka istnieje do momentu uśnięcia ciastka? czy wyłączenia aplikacji? I co te ID sesji jest mi wstanie zaoferować, jak z tego korzystać i jakie są profity ?

Chdzk
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
RE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 12
0

Dzięki za link przestudiowałem i dochodzę do wniosku, że programiści Microsoftu tworząc członkostwo(membership, simplemembership) i udostępniając metody z klasy WebSecurity takie jak Login() czy Logout() zadbali o poprawną autentykacje,tworzenie ciasteczek etc.
Kod z Klasy WEbSecurity:

Kopiuj
 [SuppressMessage("Microsoft.Naming", "CA1726:UsePreferredTerms", MessageId = "Login", Justification = "Login is used more consistently in ASP.Net")]
[SuppressMessage("Microsoft.Design", "CA1026:DefaultParametersShouldNotBeUsed", Justification = "This is a helper class, and we are not removing optional parameters from methods in helper classes")]
public static bool Login(string userName, string password, bool persistCookie = false)
{
     VerifyProvider();
      bool success = Membership.ValidateUser(userName, password);
     if (success)
     {
     FormsAuthentication.SetAuthCookie(userName, persistCookie);
     }
return success;
}

[SuppressMessage("Microsoft.Naming", "CA1726:UsePreferredTerms", MessageId = "Logout", Justification = "Login is used more consistently in ASP.Net")]
public static void Logout()
{
     VerifyProvider();
     FormsAuthentication.SignOut();
}

Jednak cały czas nie potrafię naprawić, zrozumieć tego problemu dlaczego tak się dzieje:
Podczas logownia użytkownik dostaje ciastko, w której znajduje się bilet uwierzytelniający, ciastko może wygasnąć w określonym terminie lub w sesji użytownika za co przyczynia się metoda Logut, a w niej Signout, która usuwa ciastko. I tutaj zaczyna się problem, podczas wylogowania zostaje usunięte ciastko (a z nim ticket), po czym zostajemy przekierowani np. do akcji Index, wszytko gra fajnie, jednak dlaczego po usunięciu ciastka wciskając strzałkę(wracającą do poprzedniej strony) mam dostęp do ostatniego widoku??? Na dodatek w moim przypadku mogę:wylogowywać->wracać, wylogowywać->wracać dopóty dopóki nie odświeżę strony. Dlaczego tak się dzieję jak to naprawićć!!

matek3005
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 358
0
rejentt napisał(a):

dlaczego po usunięciu ciastka wciskając strzałkę(wracającą do poprzedniej strony) mam dostęp do ostatniego widoku**??? Na dodatek w moim przypadku mogę:wylogowywać->wracać, wylogowywać->wracać dopóty dopóki nie odświeżę strony. Dlaczego tak się dzieję jak to naprawićć!!
Zerknij tutaj powinieneś tam znaleźć odpowiedzi na swoje pytania (w odpowiedzi jest link do bardziej rozpisanego tematu).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.