Webové stránky ASP.NET - WebSecurity Object


Popis

Objekt WebSecurity poskytuje zabezpečení a ověřování pro aplikace webových stránek ASP.NET.

Pomocí objektu WebSecurity můžete vytvářet uživatelské účty, přihlašovat a odhlašovat uživatele, resetovat nebo měnit hesla a další.


Odkaz na objekt WebSecurity - Vlastnosti

Properties Description
CurrentUserId Gets the ID for the current user
CurrentUserName Gets the name of the current user
HasUserId Returns true if the current has a user ID
IsAuthenticated Returns true if the current user is logged in

Odkaz na objekt WebSecurity - Metody

Method Description
ChangePassword() Changes the password for a user
ConfirmAccount() Confirms an account using a confirmation token
CreateAccount() Creates a new user account
CreateUserAndAccount() Creates a new user account
GeneratePasswordResetToken() Generates a token that can be sent to as user by email
GetCreateDate() Gets the time the specified membership was created
GetPasswordChangeDate() Gets the date and time when password was changed
GetUserId() Gets a user ID from a user name
InitializeDatabaseConnection() Initializes the WebSecurity system (database)
IsConfirmed() Checks if a user is confirmed
IsCurrentUser() Checks if the current user matches a user name
Login() Logs the user in by setting a token in the cookie
Logout() Logs the user out by removing the token cookie
RequireAuthenticatedUser() Exits the page if the user is not an authenticated user
RequireRoles() Exits the page if the user is not a part of the specified roles
RequireUser() Exits the page if the user is not the specified user
ResetPassword() Changes a user's password using a token
UserExists() Checks if a given user exists


Inicializace databáze WebSecurity

Než budete moci použít objekt WebSecurity ve svém kódu, musíte vytvořit nebo inicializovat databázi WebSecurity.

V kořenovém adresáři webu vytvořte stránku (nebo upravte stránku ) s názvem _AppStart.cshtml .

Do souboru vložte následující kód:

_AppStart.cshtml

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

Výše uvedený kód se spustí při každém spuštění webové stránky (aplikace). Inicializuje databázi WebSecurity.

"Uživatelé" je název databáze WebSecurity (Users.sdf).

"UserProfile" je název databázové tabulky, která obsahuje informace o profilu uživatele.

"UserId" je název sloupce, který obsahuje ID uživatelů (primární klíč).

"E-mail" je název sloupce, který obsahuje uživatelská jména.

Poslední parametr true je logická hodnota označující, že pokud neexistují tabulky profilu uživatele a členství, měly by být vytvořeny automaticky, v opačném případě false .

Přestože true označuje automatické vytvoření databázových tabulek, samotná databáze nebude vytvořena automaticky. Musí existovat.


Databáze WebSecurity

Tabulka UserProfile obsahuje jeden záznam pro každého uživatele s ID uživatele (primární klíč) a jménem uživatele (e-mail):

UserId Email
1 [email protected]
[email protected]
3 [email protected]

Tabulka Členství bude obsahovat informace o členství o tom, kdy byl uživatel vytvořen a zda (a kdy) bylo členství potvrzeno.

Podobně (některé sloupce nejsou zobrazeny):

User
Id
Create
Date
Confirmation
Token
Is
Confirmed
Last
Password
Failure
Password Password
Change
1 12.04.2012 16:12:17 NULL True NULL AFNQhWfy.... 12.04.2012 16:12:17

Jednoduchá konfigurace členství

Pokud váš web není nakonfigurován pro použití systému členství webových stránek ASP.NET SimpleMembership, mohou se při použití objektu WebSecurity objevit chyby .

K tomu může dojít, pokud je server poskytovatele hostingu nakonfigurován jinak než váš místní server. Chcete-li tento problém vyřešit, přidejte do souboru Web.config následující prvek:

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