AWWW-1st3.6-w10.tresc-1.1-Slajd17
Bezpieczeństwo w ASP.NET
Aplikacje WWW mogą być ogólnodostępne lub dostępne tylko dla uwierzytelnionych użytkowników. Powszechnie występują również aplikacje, w których pewne strony są ogólnodostępne, a inne wymagają uwierzytelnienia. Uwierzytelnienie (ang. authentication) i autoryzacja (ang. authorization) to dwa kluczowe etapy kontroli dostępu, a przez to zabezpieczania aplikacji. Uwierzytelnienie polega na zweryfikowaniu tożsamości użytkownika i najczęściej jest realizowane poprzez weryfikację nazwy użytkownika i hasła podanego przez użytkownika. Autoryzacja sprowadza się do określania jakie operacje na jakich zasobach może wykonać dany uwierzytelniony użytkownik.
ASP.NET oferuje następujące możliwości uwierzytelniania użytkowników:
(a) None – brak uwierzytelniania;
(b) Windows – uwierzytelnianie przez IIS (Basic/Digest) w oparciu o użytkowników i grupy z systemu operacyjnego Windows; jest to rozwiązanie akceptowalne w intranecie;
(c) Form-based – oparte o formularz logowania i zmienne Cookie; użytkownik jest uznany za uwierzytelnionego jeśli wraz z jego żądaniem przyszła odpowiednia zmienna Cookie, która jest ustawiana przez specjalnie przygotowany formularz, wskazany jako formularz logowania; jest to rozwiązanie stosowane najpowszechniej;
(d) Passport – z wykorzystaniem centralnego serwisu uwierzytelniania Microsoft Passport.
Autoryzacja może być: ACL-based , czyli oparta o ustawienia Access Control List na poziomie systemu plików NTFS serwera lub URL-based, czyli oparta o ścieżki adresów URL.
ASP.NET umożliwia deklaratywną konfigurację uwierzytelniania i autoryzacji poprzez odpowiednie sekcje w plikach konfiguracyjnych aplikacji Web.config.