ASP.NET Web Pages - Objet WebSecurity
- Page précédente Classe WebPages
- Page suivante Base de données WebPages
Description
L'objet WebSecurity fournit la sécurité et l'authentification pour les applications ASP.NET Web Pages.
Grâce à l'objet WebSecurity, vous pouvez créer des comptes d'utilisateurs, vous connecter et vous déconnecter, réinitialiser ou changer des mots de passe, etc.
Manuel de référence de l'objet WebSecurity - Propriétés
Propriété | Description |
---|---|
CurrentUserId | Obtient l'ID de l'utilisateur actuel. |
CurrentUserName | Obtient le nom de l'utilisateur actuel. |
HasUserId | Obtient la valeur indiquant si l'utilisateur actuel a un ID utilisateur. Si oui, retourne true. |
IsAuthenticated | Obtient l'état d'authentification de l'utilisateur actuel. |
Manuel de référence de l'objet WebSecurity - Méthodes
Propriété | Description |
---|---|
ChangePassword() | Change le mot de passe de l'utilisateur. |
ConfirmAccount() | Confirme que le compte est valide et active le compte. |
CreateAccount() | Crée un nouveau compte utilisateur. |
CreateUserAndAccount() | Crée un nouveau compte utilisateur. |
GeneratePasswordResetToken() | Génère un jeton de réinitialisation de mot de passe que l'on peut envoyer par e-mail à l'utilisateur. |
GetCreateDate() | Retourne la date et l'heure de création du compte de membre spécifié. |
GetPasswordChangeDate() | Retourne la date et l'heure de la dernière modification du mot de passe du compte de membre spécifié. |
GetPasswordFailures SinceLastSuccess() |
Retourne le nombre de tentatives d'erreur de mot de passe depuis le dernier login réussi ou la création d'un compte de membre. |
GetUserId() | Retourne l'ID utilisateur en fonction du nom d'utilisateur spécifié. |
GetUserIdFrom PasswordResetToken () |
Retourne l'ID utilisateur à partir du jeton de réinitialisation de mot de passe. |
InitializeDatabaseConnection() | Initialisez le système de membership en se connectant à la base de données contenant les informations utilisateur. |
IsAccountLockedOut() | Indique si le compte de membership spécifié a été verrouillé en raison du trop grand nombre de tentatives de mot de passe. |
IsConfirmed() | Retourne une valeur indiquant si l'utilisateur a été confirmé. |
IsCurrentUser() | Retourne une valeur indiquant si le nom d'utilisateur de l'utilisateur connecté correspond au nom d'utilisateur spécifié. |
Login() | Connectez l'utilisateur. |
Logout() | Déconnectez l'utilisateur. |
RequireAuthenticatedUser() | Si l'utilisateur n'est pas authentifié, configurez le statut HTTP à 401 (non autorisé). |
RequireRoles() | Si l'utilisateur actuel ne fait pas partie du rôle spécifié, configurez le code de statut HTTP à 401. |
RequireUser() | Si l'utilisateur actuel n'est pas l'utilisateur spécifié, configurez le statut HTTP à 401. |
ResetPassword() | Réinitialisez le mot de passe en utilisant le jeton de réinitialisation de mot de passe. |
UserExists() | Vérifiez si l'utilisateur existe. |
Technical Data
Name | Value |
---|---|
Class | WebMatrix.WebData.WebSecurity |
Namespace | WebMatrix.WebData |
Assembly | WebMatrix.WebData.dll |
Initialiser la base de données WebSecurity
Avant d'utiliser l'objet WebSecurity, vous devez créer ou initialiser la base de données WebSecurity.
Dans le répertoire de serveur web, créez ou éditez la page _AppStart.cshtml.
Écrivez le code suivant dans ce fichier :
_AppStart.cshtml
@{ WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true); }
Le site exécute ce code à chaque démarrage. Il initialise la base de données WebSecurity.
"Users" est le nom de la base de données WebSecurity (Users.sdf)
"UserProfile" est le nom de la table de base de données contenant les informations de configuration utilisateur.
"UserId" contient le nom de la colonne contenant l'ID utilisateur (clé principale).
"Email" est le nom de la colonne contenant le nom d'utilisateur.
Le dernier paramètre true est une valeur logique indiquant qu'il faut créer les tables de profil utilisateur et de certification (si elles n'existent pas), sinon false.
Conseil : Bien que true indique la création automatique des tables de base de données, la base de données elle-même n'est pas créée automatiquement. Elle doit exister.
Base de données WebSecurity
Chaque enregistrement de la table UserProfile représente un utilisateur, y compris l'ID utilisateur (clé principale) et le nom d'utilisateur (email) :
UserId | |
---|---|
1 | john@johnson.net |
2 | peter@peterson.com |
3 | lars@larson.eut |
La table Membership contient des informations de certification, telles que le moment où l'utilisateur a été créé et s'il (et quand) a confirmé la certification.
Similaire à cela (certains colonnes ne sont pas répertoriées) :
UserId | Date de création | Confirmation Token |
Si Confirmation |
Dernier Erreur de mot de passe |
Mot de passe | Changement de mot de passe |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULL | True | NULL | AFNQhWfy.... | 12.04.2012 16:12:17 |
Remarque :Si vous souhaitez voir toutes les colonnes et tous les contenus, ouvrez la base de données via WebMatrix, puis consultez chaque table.
Configuration de certification simple
Si votre site n'est pas configuré pour utiliser le système de certification ASP.NET Web Pages SimpleMembership, vous pourriez rencontrer des erreurs lors de l'utilisation de l'objet WebSecurity.
Si la configuration du fournisseur d'hébergement est différente de votre serveur local, une erreur peut se produire. Pour résoudre ce problème, ajoutez les éléments suivants au fichier Web.config du site :
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>
- Page précédente Classe WebPages
- Page suivante Base de données WebPages