ASP.NET Web Pages - Obiekt WebSecurity

Opis

Obiekt WebSecurity zapewnia bezpieczeństwo i uwierzytelnianie dla aplikacji ASP.NET Web Pages.

Przez obiekt WebSecurity możesz tworzyć konta użytkowników, logować się i wylogowywać, resetować lub zmieniać hasła i tak dalej.

Podręcznik referencyjny obiektu WebSecurity - Atrybuty

Atrybut Opis
CurrentUserId Pobiera ID bieżącego użytkownika.
CurrentUserName Pobiera nazwę bieżącego użytkownika.
HasUserId Pobiera wartość wskazującą, czy bieżący użytkownik ma ID użytkownika. Jeśli tak, zwraca true.
IsAuthenticated Pobiera stan uwierzytelniania bieżącego użytkownika.

Podręcznik referencyjny obiektu WebSecurity - Metody

Atrybut Opis
ChangePassword() Zmienia hasło użytkownika.
ConfirmAccount() Potwierdza, że konto jest ważne i aktywuje je.
CreateAccount() Tworzy nowe konto użytkownika.
CreateUserAndAccount() Tworzy nowe konto użytkownika.
GeneratePasswordResetToken() Tworzy token resetowania hasła, który można wysłać do użytkownika e-mailem.
GetCreateDate() Zwraca datę i czas utworzenia określonego konta członkowskiego.
GetPasswordChangeDate() Zwraca datę i czas ostatniej zmiany hasła dla określonego konta członkowskiego.
GetPasswordFailures
SinceLastSuccess()
Zwraca liczbę błędnych prób logowania hasła od ostatniego udanego logowania lub utworzenia konta członkowskiego.
GetUserId() Zwraca ID użytkownika na podstawie podanego nazwy użytkownika.
GetUserIdFrom
PasswordResetToken ()
Zwróć ID użytkownika z tokena resetowania hasła.
InitializeDatabaseConnection() Inicjalizuj system członkostwa, łącząc się z bazą danych zawierającą informacje o użytkownikach.
IsAccountLockedOut() Wskazuje, czy określone konto członkowskie zostało zablokowane z powodu zbyt wielu nieudanych prób ustawienia hasła.
IsConfirmed() Zwróć wartość, która wskazuje, czy użytkownik został potwierdzony.
IsCurrentUser() Zwróć wartość, która wskazuje, czy nazwa użytkownika zalogowanego użytkownika pasuje do określonej nazwy użytkownika.
Login() Zaloguj użytkownika.
Logout() Wyloguj użytkownika.
RequireAuthenticatedUser() Jeśli użytkownik nie jest uwierzytelniony, ustaw kod stanu HTTP na 401 (nieautoryzowany).
RequireRoles() Jeśli bieżący użytkownik nie należy do określonej roli, ustaw kod stanu HTTP na 401.
RequireUser() Jeśli bieżący użytkownik nie jest użytkownikiem określonym, ustaw kod stanu HTTP na 401.
ResetPassword() Zresetuj hasło za pomocą tokena resetowania hasła.
UserExists() Sprawdź, czy użytkownik istnieje.

Dane techniczne

Nazwa Wartość
Class WebMatrix.WebData.WebSecurity
Namespace WebMatrix.WebData
Assembly WebMatrix.WebData.dll

Inicjalizacja bazy danych WebSecurity

Przed użyciem obiektu WebSecurity, należy utworzyć lub zainicjalizować bazę danych WebSecurity.

W katalogu web, utwórz lub edytuj stronę _AppStart.cshtml.

W tym pliku wpisz poniższy kod:

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", 
true);
}

Każdy raz, gdy strona jest uruchamiana, uruchamia się powyższy kod. Wykonuje inicjalizację bazy danych WebSecurity.

"Users" jest nazwą bazy danych WebSecurity (Users.sdf).

"UserProfile" jest nazwą tabeli bazy danych zawierającej informacje o konfiguracji użytkownika.

"UserId" zawiera nazwę kolumny zawierającej ID użytkownika (klucz główny).

"Email" jest nazwą kolumny zawierającej nazwę użytkownika.

Ostatni parametr true jest wartością logiczną, wskazującą na to, że powinny zostać utworzone tabele profilu użytkownika i członkostwa (jeśli jeszcze nie istnieją), w przeciwnym razie false.

Wskazówka: Chociaż wartość true wskazuje na automatyczne tworzenie tabel bazy danych, sama baza danych nie jest automatycznie tworzone. Musi istnieć.

Baza danych WebSecurity

Każdy zapis w tabeli UserProfile reprezentuje użytkownika, w tym ID użytkownika (klucz główny) i nazwę użytkownika (email):

UserId Email
1 john@johnson.net
2 peter@peterson.com
3 lars@larson.eut

Tabela Membership zawiera informacje o członkostwie, takie jak kiedy użytkownik został utworzony oraz czy (i kiedy) potwierdził członkostwo.

Podobnie (niektóre kolumny nie są wymienione):

UserId Data utworzenia Potwierdzenie
Token
Czy
Potwierdzenie
Ostatni
Błąd hasła
Hasło Zmiana hasła
1 12.04.2012 16:12:17 NULL True NULL AFNQhWfy.... 12.04.2012 16:12:17

Uwaga:Jeśli chcesz zobaczyć wszystkie kolumny i całą zawartość, otwórz bazę danych za pomocą WebMatrix i przejdź do każdej tabeli.

Prosta konfiguracja członkostwa

Jeśli Twoja strona nie jest skonfigurowana do korzystania z systemu członkostwa ASP.NET Web Pages SimpleMembership, może wystąpić błąd podczas korzystania z obiektu WebSecurity.

Jeśli konfiguracja dostawcy hosta różni się od konfiguracji lokalnego serwera, może wystąpić błąd. Aby rozwiązać ten problem, dodaj następujący element do pliku Web.config strony:

<appSettings> 
<add key="enableSimpleMembership" value="true" /> 
</appSettings>