Autoryzacja to etap następujący po uwierzytelnieniu, w którym system przypisuje użytkownikowi rolę określającą zakres dostępu do modułów i funkcji aplikacji ASP.NET.
Po zakończeniu procesu uwierzytelniania aplikacja identyfikuje użytkownika i przechodzi do etapu autoryzacji, czyli określenia zakresu jego uprawnień. Polega to na przypisaniu użytkownikowi jednej lub kilku ról, które definiują poziom dostępu do funkcji i zasobów aplikacji - rola to zbiór uprawnień przypisany grupie użytkowników, zapewniający im identyczny zakres dostępu. ASP.NET oferuje zaawansowane mechanizmy zarządzania dostępem, dzięki którym administrator decyduje, które grupy użytkowników mogą przeglądać poszczególne moduły aplikacji i modyfikować ich zawartość.
Autoryzacja i role użytkowników w ASP.NET
Autoryzacja to proces przyznawania uprawnień, który następuje bezpośrednio po uwierzytelnieniu użytkownika - dzięki niemu aplikacja wie, do jakich zasobów dany użytkownik ma dostęp. System ról grupuje użytkowników o podobnych uprawnieniach, co znacznie ułatwia jednoczesne zarządzanie dostępem wielu osób: administrator zakłada konta dla poszczególnych grup za pomocą dedykowanego formularza i przypisuje im role określające, jakie moduły czy strony aplikacji będą dla nich dostępne. Asp.net oferuje w tym zakresie skuteczne narzędzia - pozwala precyzyjnie określić uprawnienia dla poszczególnych modułów (plików .aspx) i łatwo zarządzać dostępem do zasobów dla różnych grup użytkowników.
Logowanie i uwierzytelnianie oparte na formularzach
W przeciwieństwie do rozwiązań opartych na autoryzacji Windows, uwierzytelnianie oparte na formularzach (cookies) jest szczególnie dobrze dopasowane do aplikacji webowych wymagających dostępu przez internet, zapewniając użytkownikom łączącym się z zewnątrz lepszą dostępność. Gdy użytkownik po raz pierwszy próbuje uzyskać dostęp do zabezpieczonej strony, serwer IIS przekierowuje go na formularz logowania, w którym wprowadza swój identyfikator i hasło. Serwer porównuje te dane z wartościami zapisanymi w bazie danych SQL, a po ich pozytywnej weryfikacji zezwala na dostęp do żądanej strony.
Wraz z przyznaniem dostępu przeglądarka klienta otrzymuje zaszyfrowane cookie, które pełni funkcję cyfrowego identyfikatora sesji - swoistej „pieczątki” potwierdzającej skuteczne zalogowanie i zawierającej unikalny identyfikator użytkownika. To właśnie ono pozwala aplikacji rozpoznawać uprawnienia użytkownika przy kolejnych żądaniach, bez konieczności ponownego logowania. Wdrożenie skutecznej autoryzacji ma przy tym kluczowe znaczenie dla bezpieczeństwa aplikacji webowej - chroni poufne dane przed nieuprawnionym dostępem, a jednocześnie zapewnia użytkownikom wygodny dostęp do potrzebnych im funkcji, dlatego firmy coraz częściej inwestują w zaawansowane systemy autoryzacji.
Autentykacja Windows jako alternatywa
Autentykacja Windows w Asp.net obsługuje uwierzytelnianie oparte na systemie MS Windows, co w praktyce oznacza delegowanie procesu logowania do IIS - podstawowej infrastruktury serwerowej, na której działa aplikacja. Serwer IIS można skonfigurować tak, aby wyświetlał w przeglądarce internetowej odpowiednie okno dialogowe i pobierał za jego pomocą identyfikator użytkownika oraz hasło; wprowadzone dane muszą być przy tym zgodne z danymi konta użytkownika Windows w domenie. Rozwiązanie to doskonale sprawdza się przy pracy w sieci lokalnej opartej o systemy Microsoft Windows.