Opis
WebSecurity Obiekt zapewnia bezpieczeństwo i uwierzytelnianie dla aplikacji ASP.NET Web Pages.
Z obiektu WebSecurity można tworzyć konta użytkowników, logowanie i użytkowników wylogowania, zresetować lub zmienić hasła i inne.
WebSecurity Object Reference - Właściwości
Nieruchomości | Opis |
---|---|
CurrentUserId | Pobiera identyfikator bieżącego użytkownika |
CurrentUserName | Pobiera nazwę bieżącego użytkownika |
HasUserId | Zwraca true, jeśli prąd ma identyfikator użytkownika |
IsAuthenticated | Zwraca true, jeśli bieżący użytkownik jest zalogowany |
WebSecurity obiekt wzorcowy - metody
metoda | Opis |
---|---|
ChangePassword() | Zmienia hasło dla użytkownika |
ConfirmAccount() | Potwierdza konta za pomocą tokena potwierdzeniem |
CreateAccount() | Tworzy nowe konto użytkownika |
CreateUserAndAccount() | Tworzy nowe konto użytkownika |
GeneratePasswordResetToken() | Generuje token, który może być wysłana jako użytkownik email |
GetCreateDate() | Pobiera czas określony członków utworzonego |
GetPasswordChangeDate() | Pobiera datę i czas, gdy hasło zostało zmienione |
GetUserId() | Pobiera identyfikator użytkownika z nazwą użytkownika |
InitializeDatabaseConnection() | Inicjuje system WebSecurity (database) |
IsConfirmed() | Sprawdza, czy użytkownik potwierdza |
IsCurrentUser() | Sprawdza, czy bieżący użytkownik pasuje do nazwy użytkownika |
Login() | Loguje użytkownika w ustawiając token w pliku cookie |
Logout() | Loguje użytkownika przez usunięcie plików cookie tokena |
RequireAuthenticatedUser() | Opuszcza stronę, jeśli użytkownik nie jest uwierzytelniony użytkownik |
RequireRoles() | Opuszcza stronę, jeśli użytkownik nie jest częścią określonych ról |
RequireUser() | Opuszcza stronę, jeśli użytkownik nie ma określonego użytkownika |
ResetPassword() | Zmienia hasło użytkownika za pomocą tokena |
UserExists() | Sprawdza, czy dany użytkownik istnieje |
Dane techniczne
Nazwa | Wartość |
---|---|
Klasa | WebMatrix.WebData.WebSecurity |
Przestrzeń nazw | WebMatrix.WebData |
Montaż | WebMatrix.WebData.dll |
Inicjowanie bazy WebSecurity
Musisz utworzyć lub zainicjować bazę WebSecurity zanim będzie można korzystać z obiektu WebSecurity w kodzie.
W katalogu głównym swojej sieci, utworzyć stronę (or edit the page ) o nazwie _AppStart.cshtml.
Umieść następujący kod wewnątrz pliku:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile",
"UserId", "Email", true);
}
Powyższy kod będzie działać za każdym razem strona internetowa (application) rozpoczyna. To inicjuje bazy WebSecurity.
„Użytkownicy” to nazwa bazy danych WebSecurity (Users.sdf) .
„UserProfile” to nazwa tabeli bazy danych, która zawiera informacje o profilu użytkownika.
„UserId” to nazwa kolumny zawierającej identyfikatory użytkownika (primary key) .
„Wyślij” to nazwa kolumny, która zawiera nazwy użytkowników.
Ostatnim parametrem prawda jest wartością logiczną wskazującą, że profil użytkownika i tabele członkostwa powinny być tworzone automatycznie, jeśli nie istnieje, w przeciwnym razie false.
Chociaż prawdą oznacza automatyczne tworzenie tabel bazy danych, sama baza danych nie zostanie utworzony automatycznie. Musi istnieć.
Baza WebSecurity
Tabela UserProfile zawiera jeden rekord dla każdego użytkownika z identyfikatorem użytkownika (primary key) i nazwa użytkownika (email) :
Identyfikator użytkownika | |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
W tabeli Członkostwo będzie zawierać informacje na temat członkostwa, gdy użytkownik został stworzony, i jeśli (and when) przynależność został potwierdzony.
Podobnie jak ten (some columns are not shown) :
Użytkownik ID | Stwórz Data | Potwierdzenie Znak | Jest Zatwardziały | Ostatni, ubiegły, zeszły Hasło Niepowodzenie | Hasło | Hasło Zmiana |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | ZERO | Prawdziwe | ZERO | AFNQhWfy .... | 12.04.2012 16:12:17 |
Uwaga: Jeśli chcesz zobaczyć wszystkie kolumny i wszystkie treści, otworzyć bazę danych z WebMatrix i zajrzeć do wnętrza każdej tabeli.
Prosta konfiguracja Członkostwo
Możecie się błędy przy użyciu obiektu WebSecurity, jeśli witryna nie jest skonfigurowany do korzystania z ASP.NET Web Pages system członkostwa SimpleMembership.
Taka sytuacja może wystąpić, jeśli serwer dostawcę usług hostingowych jest skonfigurowany inaczej niż lokalnym serwerze. Aby rozwiązać ten problem, należy dodać następujący element do pliku Web.config witryny:
<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>