Podstawy zabezpieczeń i obsługa platformy ASP.NET (VB)

Autor : Scott Mitchell

Uwaga

Od czasu napisania tego artykułu dostawcy członkostwa ASP.NET zostali zastąpioni przez ASP.NET Identity. Zdecydowanie zalecamy aktualizowanie aplikacji w celu korzystania z platformy ASP.NET Identity , a nie dostawców członkostwa w momencie pisania tego artykułu. ASP.NET Identity ma wiele zalet w porównaniu z systemem członkostwa ASP.NET, w tym :

  • Lepsza wydajność
  • Ulepszona rozszerzalność i możliwość testowania
  • Obsługa uwierzytelniania OAuth, OpenID Connect i uwierzytelniania dwuskładnikowego
  • Obsługa tożsamości opartej na oświadczeniach
  • Lepsze współdziałanie z platformą ASP.Net Core

Pobierz plik PDF

Jest to pierwszy samouczek z serii samouczków, w których poznasz techniki uwierzytelniania odwiedzających za pośrednictwem formularza internetowego, autoryzowania dostępu do określonych stron i funkcjonalności oraz zarządzania kontami użytkowników w aplikacji ASP.NET.

Wprowadzenie

Jakie są fora, witryny handlu elektronicznego, internetowe witryny poczty e-mail, witryny portalu i witryny sieci społecznościowej, które są wspólne? Wszystkie oferują konta użytkowników. Witryny, które oferują konta użytkowników, muszą świadczyć wiele usług. Co najmniej nowi odwiedzający muszą mieć możliwość utworzenia konta i zwracania odwiedzających muszą mieć możliwość zalogowania się. Takie aplikacje internetowe mogą podejmować decyzje na podstawie zalogowanego użytkownika: niektóre strony lub akcje mogą być ograniczone tylko do zalogowanych użytkowników lub do określonego podzestawu użytkowników; inne strony mogą wyświetlać informacje specyficzne dla zalogowanego użytkownika lub mogą wyświetlać więcej lub mniej informacji w zależności od tego, jaki użytkownik wyświetla stronę.

Jest to pierwszy samouczek z serii samouczków, w których poznasz techniki uwierzytelniania odwiedzających za pośrednictwem formularza internetowego, autoryzowania dostępu do określonych stron i funkcjonalności oraz zarządzania kontami użytkowników w aplikacji ASP.NET. W ramach tych samouczków sprawdzimy, jak wykonać następujące czynności:

  • Identyfikowanie i rejestrowanie użytkowników w witrynie internetowej
  • Użyj platformy ASP. Struktura członkostwa platformy NET do zarządzania kontami użytkowników
  • Tworzenie, aktualizowanie i usuwanie kont użytkowników
  • Ograniczanie dostępu do strony internetowej, katalogu lub określonych funkcji na podstawie zalogowanego użytkownika
  • Użyj platformy ASP. Struktura ról platformy NET do kojarzenia kont użytkowników z rolami
  • Zarządzanie rolami użytkowników
  • Ograniczanie dostępu do strony internetowej, katalogu lub określonych funkcji na podstawie roli zalogowanego użytkownika
  • Dostosowywanie i rozszerzanie platformy ASP. Zabezpieczenia sieci Web platformy NET

Te samouczki są przeznaczone do zwięzłości i zawierają szczegółowe instrukcje z dużą ilością zrzutów ekranu, aby przejść przez proces wizualnie. Każdy samouczek jest dostępny w wersjach C# i Visual Basic oraz zawiera pobieranie kompletnego używanego kodu. (Ten pierwszy samouczek koncentruje się na pojęciach zabezpieczeń z punktu widzenia wysokiego poziomu i dlatego nie zawiera żadnego skojarzonego kodu).

W tym samouczku omówimy ważne pojęcia dotyczące zabezpieczeń oraz funkcje, które są dostępne w ASP.NET, aby pomóc we wdrażaniu uwierzytelniania formularzy, autoryzacji, kont użytkowników i ról. Zaczynamy!

Uwaga

Bezpieczeństwo jest ważnym aspektem każdej aplikacji obejmującej decyzje fizyczne, technologiczne i polityczne oraz wymaga wysokiego stopnia wiedzy na temat planowania i domeny. Ta seria samouczków nie jest przeznaczona jako przewodnik po tworzeniu bezpiecznych aplikacji internetowych. Zamiast tego koncentruje się on głównie na uwierzytelnianiu formularzy, autoryzacji, kontach użytkowników i rolach. Podczas gdy niektóre koncepcje zabezpieczeń obracające się wokół tych problemów zostały omówione w tej serii, inne pozostają niewyeksplodowane.

Uwierzytelnianie, autoryzacja, konta użytkowników i role

Uwierzytelnianie, autoryzacja, konta użytkowników i role to cztery terminy, które będą używane bardzo często w tej serii samouczków, więc chciałbym szybko poświęć chwilę na zdefiniowanie tych terminów w kontekście zabezpieczeń sieci Web. W modelu klient-serwer, takim jak Internet, istnieje wiele scenariuszy, w których serwer musi zidentyfikować klienta wysyłającego żądanie. Uwierzytelnianie to proces ustalania tożsamości klienta. Klient, który został pomyślnie zidentyfikowany, zostanie uznany za uwierzytelnionego. Mówi się, że niezidentyfikowany klient jest nieuwierzytelniony lub anonimowy.

Bezpieczne systemy uwierzytelniania obejmują co najmniej jeden z następujących trzech aspektów: coś, co wiesz, coś, co masz, lub coś, co jesteś. Większość aplikacji internetowych korzysta z czegoś, co klient zna, na przykład hasło lub numer PIN. Informacje używane do identyfikowania użytkownika — na przykład nazwy użytkownika i hasła — są określane jako poświadczenia. Ta seria samouczków koncentruje się na uwierzytelnianiu formularzy, czyli modelu uwierzytelniania, w którym użytkownicy logują się do witryny, podając swoje poświadczenia w formularzu strony internetowej. Wszyscy wcześniej doświadczyliśmy tego typu uwierzytelniania. Przejdź do dowolnej witryny handlu elektronicznego. Gdy wszystko będzie gotowe do wyewidencjonowania, zostanie wyświetlony monit o zalogowanie się przez wprowadzenie nazwy użytkownika i hasła w polach tekstowych na stronie internetowej.

Oprócz identyfikowania klientów serwer może wymagać ograniczenia dostępności zasobów lub funkcji w zależności od klienta wysyłającego żądanie. Autoryzacja to proces określania, czy określony użytkownik ma uprawnienia dostępu do określonego zasobu lub funkcji.

Konto użytkownika to magazyn do utrwalania informacji o określonym użytkowniku. Konta użytkowników muszą zawierać minimalnie informacje, które jednoznacznie identyfikują użytkownika, takie jak nazwa logowania użytkownika i hasło. Oprócz tych podstawowych informacji konta użytkowników mogą zawierać takie elementy jak: adres e-mail użytkownika; data i godzina utworzenia konta; data i godzina ostatniego zalogowania; imię i nazwisko; numer telefonu; oraz adres wysyłkowy. W przypadku korzystania z uwierzytelniania formularzy informacje o koncie użytkownika są zwykle przechowywane w relacyjnej bazie danych, takiej jak Microsoft SQL Server.

Aplikacje internetowe, które obsługują konta użytkowników, mogą opcjonalnie grupowanie użytkowników w role. Rola to po prostu etykieta, która jest stosowana do użytkownika i zapewnia abstrakcję do definiowania reguł autoryzacji i funkcji na poziomie strony. Na przykład witryna internetowa może zawierać rolę Administrator z regułami autoryzacji, które uniemożliwiają wszystkim, ale administratorowi dostęp do określonego zestawu stron sieci Web. Ponadto różne strony, które są dostępne dla wszystkich użytkowników (w tym innych niż administratorzy) mogą wyświetlać dodatkowe dane lub oferować dodatkowe funkcje po odwiedzeniu przez użytkowników w roli Administratorzy. Korzystając z ról, możemy zdefiniować te reguły autoryzacji na podstawie ról, a nie użytkownik po użytkowniku.

Uwierzytelnianie użytkowników w aplikacji ASP.NET

Gdy użytkownik wprowadzi adres URL w oknie adresu przeglądarki lub kliknie link, przeglądarka wysyła żądanie protokołu HTTP (Hypertext Transfer Protocol) do serwera internetowego dla określonej zawartości, niezależnie od tego, czy jest to strona ASP.NET, obraz, plik JavaScript lub dowolny inny typ zawartości. Serwer internetowy ma za zadanie zwrócić żądaną zawartość. W ten sposób musi określić wiele rzeczy dotyczących żądania, w tym osoby, które złożyły żądanie i czy tożsamość jest autoryzowana do pobierania żądanej zawartości.

Domyślnie przeglądarki wysyłają żądania HTTP, które nie zawierają żadnych informacji identyfikacyjnych. Jeśli jednak przeglądarka zawiera informacje o uwierzytelnianiu, serwer internetowy uruchamia przepływ pracy uwierzytelniania, który próbuje zidentyfikować klienta wysyłającego żądanie. Kroki przepływu pracy uwierzytelniania zależą od typu uwierzytelniania używanego przez aplikację internetową. ASP.NET obsługuje trzy typy uwierzytelniania: Windows, Passport i formularze. W tej serii samouczków skupiono się na uwierzytelnianiu formularzy, ale poświęćmy chwilę na porównanie magazynów i przepływów pracy użytkowników uwierzytelniania systemu Windows.

Uwierzytelnianie za pośrednictwem uwierzytelniania systemu Windows

Przepływ pracy uwierzytelniania systemu Windows używa jednej z następujących technik uwierzytelniania:

  • Uwierzytelnianie podstawowe
  • Uwierzytelnianie szyfrowane
  • Zintegrowane uwierzytelnianie systemu Windows

Wszystkie trzy techniki działają w mniej więcej taki sam sposób: po nadejściu nieautoryzowanego, anonimowego żądania serwer internetowy wysyła z powrotem odpowiedź HTTP, która wskazuje, że do kontynuowania jest wymagana autoryzacja. Następnie w przeglądarce zostanie wyświetlone modalne okno dialogowe z monitem o podanie nazwy użytkownika i hasła (zobacz Rysunek 1). Te informacje są następnie wysyłane z powrotem do serwera internetowego za pośrednictwem nagłówka HTTP.

Modalne okno dialogowe monituje użytkownika o podanie jego poświadczeń

Rysunek 1. Modalne okno dialogowe monituje użytkownika o podanie jego poświadczeń

Podane poświadczenia są weryfikowane względem Sklepu użytkowników systemu Windows serwera internetowego. Oznacza to, że każdy uwierzytelniony użytkownik w aplikacji internetowej musi mieć konto systemu Windows w organizacji. Jest to powszechne miejsce w scenariuszach intranetowych. W rzeczywistości w przypadku korzystania z zintegrowanego uwierzytelniania systemu Windows w ustawieniu intranetu przeglądarka automatycznie dostarcza serwerowi sieci Web poświadczenia używane do logowania się do sieci, pomijając okno dialogowe pokazane na rysunku 1. Chociaż uwierzytelnianie systemu Windows jest doskonałe dla aplikacji intranetowych, zwykle nie jest możliwe w przypadku aplikacji internetowych, ponieważ nie chcesz tworzyć kont systemu Windows dla każdego użytkownika, który zarejestruje się w witrynie.

Uwierzytelnianie za pomocą uwierzytelniania formularzy

Z drugiej strony uwierzytelnianie formularzy jest idealne dla internetowych aplikacji internetowych. Pamiętaj, że uwierzytelnianie formularzy identyfikuje użytkownika, monitując go o wprowadzenie poświadczeń za pośrednictwem formularza internetowego. W związku z tym, gdy użytkownik próbuje uzyskać dostęp do nieautoryzowanego zasobu, jest automatycznie przekierowywany do strony logowania, na której może wprowadzić swoje poświadczenia. Przesłane poświadczenia są następnie weryfikowane względem niestandardowego magazynu użytkowników — zwykle bazy danych.

Po zweryfikowaniu przesłanych poświadczeń zostanie utworzony bilet uwierzytelniania formularzy dla użytkownika. Ten bilet wskazuje, że użytkownik został uwierzytelniony i zawiera informacje identyfikujące, takie jak nazwa użytkownika. Bilet uwierzytelniania formularzy jest (zazwyczaj) przechowywany jako plik cookie na komputerze klienckim. W związku z tym kolejne wizyty w witrynie internetowej obejmują bilet uwierzytelniania formularzy w żądaniu HTTP, umożliwiając aplikacji internetowej identyfikację użytkownika po zalogowaniu.

Rysunek 2 przedstawia przepływ pracy uwierzytelniania formularzy z punktu widzenia wysokiego poziomu. Zwróć uwagę, jak elementy uwierzytelniania i autoryzacji w ASP.NET działają jako dwie oddzielne jednostki. System uwierzytelniania formularzy identyfikuje użytkownika (lub raporty, które są anonimowe). System autoryzacji określa, czy użytkownik ma dostęp do żądanego zasobu. Jeśli użytkownik jest nieautoryzowany (jak na rysunku 2 podczas próby anonimowej wizyty w ProtectedPage.aspx), system autoryzacji zgłasza, że użytkownik zostanie odrzucony, powodując automatyczne przekierowanie użytkownika do strony logowania przez system uwierzytelniania formularzy.

Po pomyślnym zalogowaniu się użytkownika kolejne żądania HTTP obejmują bilet uwierzytelniania formularzy. System uwierzytelniania formularzy identyfikuje tylko użytkownika — jest to system autoryzacji, który określa, czy użytkownik może uzyskać dostęp do żądanego zasobu.

Przepływ pracy uwierzytelniania formularzy

Rysunek 2. Przepływ pracy uwierzytelniania formularzy

Bardziej szczegółowo omówimy uwierzytelnianie formularzy w następnym samouczku — Omówienie uwierzytelniania formularzy. Aby uzyskać więcej informacji na temat platformy ASP. Opcje uwierzytelniania platformy NET można znaleźć w temacie ASP.NET Authentication (Uwierzytelnianie ASP.NET).

Ograniczanie dostępu do stron sieci Web, katalogów i funkcji stron

ASP.NET zawiera dwa sposoby określania, czy określony użytkownik ma uprawnienia dostępu do określonego pliku lub katalogu:

  • Autoryzacja plików — ponieważ strony ASP.NET i usługi internetowe są implementowane jako pliki znajdujące się w systemie plików serwera internetowego, dostęp do tych plików można określić za pośrednictwem Access Control Listy (ACL). Autoryzacja plików jest najczęściej używana z uwierzytelnianiem systemu Windows, ponieważ listy ACL są uprawnieniami stosowanymi do kont systemu Windows. W przypadku korzystania z uwierzytelniania formularzy wszystkie żądania na poziomie systemu operacyjnego i systemu plików są wykonywane przez to samo konto systemu Windows, niezależnie od tego, czy użytkownik odwiedza witrynę.
  • Autoryzacja adresu URL — z autoryzacją adresu URL deweloper strony określa reguły autoryzacji w Web.config. Te reguły autoryzacji określają, do jakich użytkowników lub ról mogą uzyskiwać dostęp do określonych stron lub katalogów w aplikacji lub odmawiać dostępu do nich.

Autoryzacja plików i autoryzacja adresu URL definiują reguły autoryzacji na potrzeby uzyskiwania dostępu do określonej strony ASP.NET lub dla wszystkich stron ASP.NET w określonym katalogu. Korzystając z tych technik, możemy poinstruować ASP.NET odmawiać żądań do określonej strony dla określonego użytkownika lub zezwalać na dostęp do zestawu użytkowników i odmawiać dostępu wszystkim innym osobom. Co z scenariuszami, w których wszyscy użytkownicy mogą uzyskać dostęp do strony, ale funkcjonalność strony zależy od użytkownika? Na przykład wiele witryn obsługujących konta użytkowników ma strony, które wyświetlają inną zawartość lub dane dla uwierzytelnionych użytkowników, a użytkownicy anonimowi. Anonimowy użytkownik może zobaczyć link umożliwiający zalogowanie się do witryny, podczas gdy uwierzytelniony użytkownik zamiast tego zobaczy komunikat, taki jak Powitanie z powrotem, Nazwa użytkownika wraz z linkiem do wylogowania. Inny przykład: podczas wyświetlania elementu w witrynie aukcji są wyświetlane różne informacje w zależności od tego, czy jesteś oferentem, czy zlicytowaniem elementu.

Takie korekty na poziomie strony można przeprowadzić deklaratywnie lub programowo. Aby wyświetlić inną zawartość dla użytkowników anonimowych niż uwierzytelnieni, wystarczy przeciągnąć kontrolkę LoginView na stronę i wprowadzić odpowiednią zawartość do szablonów AnonymousTemplate i LoggedInTemplate. Alternatywnie można programowo określić, czy bieżące żądanie jest uwierzytelnione, kim jest użytkownik, oraz do jakich ról należą (jeśli istnieją). Te informacje umożliwiają wyświetlanie lub ukrywanie kolumn w siatce lub panelach na stronie.

Ta seria zawiera trzy samouczki, które koncentrują się na autoryzacji. Autoryzacja oparta na użytkownikusprawdza, jak ograniczyć dostęp do strony lub stron w katalogu dla określonych kont użytkowników; Autoryzacja oparta na rolach analizuje dostarczanie reguł autoryzacji na poziomie roli; na koniec samouczek Wyświetlanie zawartości na podstawie aktualnie zalogowanego użytkownika bada modyfikowanie zawartości i funkcjonalności określonej strony na podstawie użytkownika odwiedzającego stronę. Aby uzyskać więcej informacji na temat platformy ASP. Opcje autoryzacji platformy NET można znaleźć w temacie ASP.NET Authorization (Autoryzacja ASP.NET).

Konta użytkowników i role

ASP. Uwierzytelnianie formularzy platformy NET zapewnia infrastrukturę dla użytkowników, którzy logują się do witryny i mają stan uwierzytelnienia zapamiętany w przypadku wizyt na stronie. Autoryzacja adresów URL oferuje platformę ograniczania dostępu do określonych plików lub folderów w aplikacji ASP.NET. Żadna z funkcji nie dostarcza jednak środków do przechowywania informacji o koncie użytkownika ani zarządzania rolami.

Przed ASP.NET 2.0 deweloperzy byli odpowiedzialni za tworzenie własnych magazynów użytkowników i ról. Były one również na haku do projektowania interfejsów użytkownika i pisania kodu dla podstawowych stron związanych z kontem użytkownika, takich jak strona logowania i strona w celu utworzenia nowego konta, między innymi. Bez wbudowanej struktury kont użytkowników w ASP.NET każdy deweloper wdrażający konta użytkowników musiał podjąć własne decyzje projektowe dotyczące pytań, takich jak, Jak mogę przechowywać hasła lub inne poufne informacje? i Jakie wytyczne należy narzucić w odniesieniu do długości i siły hasła?

Obecnie implementacja kont użytkowników w aplikacji ASP.NET jest znacznie prostsza dzięki strukturze członkostwa i wbudowanym kontrolkom sieci Web logowania. Struktura członkostwa to kilka klas w przestrzeni nazw System.Web.Security , które zapewniają funkcjonalność do wykonywania podstawowych zadań związanych z kontem użytkownika. Klasa kluczy w strukturze członkostwa to klasa Członkostwa, która ma metody takie jak:

  • Createuser
  • DeleteUser
  • Getallusers
  • Getuser
  • Updateuser
  • Validateuser

Struktura członkostwa używa modelu dostawcy, który w sposób czysty oddziela interfejs API platformy członkostwa od jej implementacji. Dzięki temu deweloperzy mogą używać wspólnego interfejsu API, ale umożliwia im korzystanie z implementacji spełniającej potrzeby niestandardowe aplikacji. Krótko mówiąc, klasa Członkostwa definiuje podstawowe funkcje struktury (metody, właściwości i zdarzenia), ale w rzeczywistości nie dostarcza żadnych szczegółów implementacji. Zamiast tego metody klasy Członkostwa wywołują skonfigurowanego dostawcę, co wykonuje rzeczywistą pracę. Na przykład po wywołaniu metody CreateUser klasy członkostwa klasa Członkostwo nie zna szczegółów magazynu użytkowników. Nie wiadomo, czy użytkownicy są utrzymywani w bazie danych lub w pliku XML, czy w innym magazynie. Klasa Członkostwo sprawdza konfigurację aplikacji internetowej, aby określić, do którego dostawcy należy delegować wywołanie, a ta klasa dostawcy jest odpowiedzialna za rzeczywiste utworzenie nowego konta użytkownika w odpowiednim magazynie użytkowników. Ta interakcja jest pokazana na rysunku 3.

Firma Microsoft dostarcza dwie klasy dostawcy członkostwa w .NET Framework:

Ta seria samouczków koncentruje się wyłącznie na obiekcie SqlMembershipProvider.

Model dostawcy umożliwia bezproblemowe podłączanie różnych implementacji do struktury

Rysunek 03. Model dostawcy umożliwia bezproblemowe podłączanie różnych implementacji do struktury (kliknij, aby wyświetlić obraz o pełnym rozmiarze)

Zaletą modelu dostawcy jest to, że alternatywne implementacje mogą być opracowywane przez firmę Microsoft, dostawców innych firm lub poszczególnych deweloperów i bezproblemowo podłączane do struktury członkostwa. Na przykład firma Microsoft wydała dostawcę członkostwa dla baz danych programu Microsoft Access. Aby uzyskać więcej informacji na temat dostawców członkostwa, zapoznaj się z zestawem narzędzi dostawcy dostawcy, który zawiera przewodnik dostawców członkostwa, przykładowych dostawców niestandardowych, ponad 100 stron dokumentacji modelu dostawcy oraz kompletny kod źródłowy dla wbudowanych dostawców członkostwa (czyli ActiveDirectoryMembershipProvider i SqlMembershipProvider).

ASP.NET 2.0 wprowadzono również platformę Role. Podobnie jak struktura członkostwa, platforma Role jest tworzona na szczycie modelu dostawcy. Interfejs API jest udostępniany za pośrednictwem klasy Roles, a .NET Framework jest dostarczany z trzema klasami dostawcy:

  • AuthorizationStoreRoleProvider — zarządza informacjami o roli w magazynie zasad menedżera autoryzacji, takim jak Active Directory lub ADAM.
  • SqlRoleProvider — implementuje role w bazie danych SQL Server.
  • WindowsTokenRoleProvider — kojarzy informacje o roli na podstawie grupy systemu Windows odwiedzających. Ta metoda jest zwykle używana z uwierzytelnianiem systemu Windows.

Ta seria samouczków koncentruje się wyłącznie na obiekcie SqlRoleProvider.

Ponieważ model dostawcy zawiera jeden interfejs API skierowany do przodu (klasy Członkostwo i role), można tworzyć funkcje wokół tego interfejsu API bez konieczności martwienia się o szczegóły implementacji — są one obsługiwane przez dostawców wybranych przez dewelopera strony. Ten ujednolicony interfejs API umożliwia dostawcom firmy Microsoft i innych firm tworzenie kontrolek sieci Web, które są interfejsem z platformami Członkostwa i ról. ASP.NET są dostarczane z wieloma kontrolkami sieci Web logowania do implementowania typowych interfejsów użytkownika konta użytkownika. Na przykład kontrolka Login monituje użytkownika o poświadczenia, weryfikuje je, a następnie rejestruje je za pomocą uwierzytelniania formularzy. Kontrolka LoginView oferuje szablony do wyświetlania różnych znaczników dla użytkowników anonimowych i uwierzytelnionych użytkowników lub różnych znaczników na podstawie roli użytkownika. Kontrolka CreateUserWizard udostępnia szczegółowy interfejs użytkownika do tworzenia nowego konta użytkownika.

Poniżej okładek omówiono różne kontrolki logowania współdziałają z platformami Członkostwa i ról. Większość kontrolek logowania można zaimplementować bez konieczności pisania jednego wiersza kodu. Przeanalizujemy te kontrolki bardziej szczegółowo w przyszłych samouczkach, w tym techniki rozszerzania i dostosowywania ich funkcjonalności.

Podsumowanie

Wszystkie aplikacje internetowe, które obsługują konta użytkowników, wymagają podobnych funkcji, takich jak: możliwość zalogowania się użytkowników i zapamiętania stanu logowania między wizytami stron; strona internetowa dla nowych odwiedzających, aby utworzyć konto; oraz możliwość określenia, jakie zasoby, dane i funkcje są dostępne dla użytkowników lub ról. Zadania uwierzytelniania i autoryzowania użytkowników oraz zarządzania kontami użytkowników i rolami są niezwykle łatwe do wykonania w ASP.NET aplikacjach dzięki uwierzytelniania formularzy, autoryzacji adresów URL oraz struktur członkostwa i ról.

W ciągu następnych kilku samouczków przeanalizujemy te aspekty, tworząc działającą aplikację internetową od podstaw w sposób krok po kroku. W następnym drugim samouczku szczegółowo zapoznamy się z uwierzytelnianiem formularzy. Zobaczymy przepływ pracy uwierzytelniania formularzy w działaniu, odcięcie biletu uwierzytelniania formularzy, omówimy obawy dotyczące zabezpieczeń i zobaczymy, jak skonfigurować system uwierzytelniania formularzy — wszystko to podczas tworzenia aplikacji internetowej, która umożliwia odwiedzającym logowanie się i wylogowanie.

Szczęśliwe programowanie!

Dalsze informacje

Aby uzyskać więcej informacji na temat tematów omówionych w tym samouczku, zapoznaj się z następującymi zasobami:

Informacje o autorze

Scott Mitchell, autor siedmiu książek ASP/ASP.NET i założyciel 4GuysFromRolla.com, współpracuje z technologiami internetowymi firmy Microsoft od 1998 roku. Scott pracuje jako niezależny konsultant, trener i pisarz. Jego najnowsza książka to Sams Teach Yourself ASP.NET 2.0 w ciągu 24 godzin. Można do niego dotrzeć pod adresem mitchell@4GuysFromRolla.com. Lub za pośrednictwem swojego bloga, który można znaleźć na stronie http://ScottOnWriting.NET.

Specjalne podziękowania

Ta seria samouczków została przejrzyona przez wielu przydatnych recenzentów. Głównym recenzentem tego samouczka była ta seria samouczków została przejrzyona przez wielu przydatnych recenzentów. Recenzenci z tego samouczka to Alicja Maziarz, John Suru i Teresa Murphy. Chcesz przejrzeć nadchodzące artykuły MSDN? Jeśli tak, upuść mi wiersz pod adresemmitchell@4GuysFromRolla.com .