ASP.NET Web Pages - Objet WebSecurity
Description
Objet WebSecurityFournit la sécurité et l'authentification pour les applications ASP.NET Web Pages.
Grâce à l'objet WebSecurity, vous pouvez créer des comptes utilisateur, connecter et déconnecter des utilisateurs, réinitialiser ou modifier des mots de passe, et bien d'autres fonctions liées à la sécurité.
Manuel de référence de l'objet WebSecurity - Propriétés
| Propriétés | Description |
|---|---|
| CurrentUserId | Obtient l'ID de l'utilisateur actuellement connecté. |
| CurrentUserName | Obtient le nom de l'utilisateur actuellement connecté. |
| HasUserId | Renvoie true s'il existe un ID d'utilisateur actuel. |
| IsAuthenticated | Renvoie true si l'utilisateur actuel est connecté. |
Manuel de référence de l'objet WebSecurity - Méthodes
| Méthodes | Description |
|---|---|
| ChangePassword() | Modifie le mot de passe de l'utilisateur spécifié. |
| ConfirmAccount() | Confirme un compte à l'aide d'un jeton de confirmation de 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 qui peut être envoyé à l'utilisateur par e-mail afin que celui-ci puisse réinitialiser son mot de passe. |
| GetCreateDate() | Obtient l'heure à laquelle l'appartenance spécifiée a été créée. |
| GetPasswordChangeDate() | Obtient la date et l'heure auxquelles le mot de passe a été modifié. |
| GetUserId() | Obtient l'ID utilisateur en fonction du nom d'utilisateur. |
| InitializeDatabaseConnection() | Initialise le système WebSecurity (base de données). |
| IsConfirmed() | Vérifie si un utilisateur a été confirmé. Retourne true s'il est confirmé. (Par exemple, la confirmation peut être effectuée par e-mail.) |
| IsCurrentUser() | Vérifie si le nom de l'utilisateur actuel correspond au nom d'utilisateur spécifié. Retourne true si c'est le cas. |
| Login() | Définit le jeton d'authentification et connecte l'utilisateur. |
| Logout() | Supprime le jeton d'authentification et déconnecte l'utilisateur. |
| RequireAuthenticatedUser() | Définit le statut HTTP sur 401 (Non autorisé) si l'utilisateur n'est pas authentifié. |
| RequireRoles() | Définit le statut HTTP sur 401 (Non autorisé) si l'utilisateur actuel n'est pas membre du rôle spécifié. |
| RequireUser() | Définit le statut HTTP sur 401 (Non autorisé) si l'utilisateur actuel n'est pas l'utilisateur ayant le nom d'utilisateur spécifié. |
| ResetPassword() | Si le jeton de réinitialisation du mot de passe est valide, remplace le mot de passe de l'utilisateur par un nouveau mot de passe. |
| UserExists() | Vérifie si l'utilisateur spécifié existe. |
Données techniques
| Name | Valeur |
|---|---|
| Classe | WebMatrix.WebData.WebSecurity |
| Espace de noms | WebMatrix.WebData |
| Assembly | WebMatrix.WebData.dll |
Initialiser la base de données WebSecurity
Si vous souhaitez utiliser l'objet WebSecurity dans votre code, vous devez d'abord créer ou initialiser la base de données WebSecurity.
Dans votre répertoire racine web, créez une page nommée_AppStart.cshtmlla page (si elle existe déjà, modifiez directement la page).
Copiez le code suivant dans le fichier :
_AppStart.cshtml
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}
Le code ci-dessus s'exécutera chaque fois que le site web (application) démarre. 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 qui contient les informations de profil utilisateur.
"UserId"Est le nom de la colonne qui contient l'ID utilisateur (clé primaire).
"Email"Est le nom de la colonne qui contient le nom d'utilisateur.
Le dernier paramètretrueEst une valeur booléenne qui indique que si la table de profil utilisateur et la table d'appartenance n'existent pas, les tables seront créées automatiquement. Si vous ne voulez pas créer les tables automatiquement, définissez le paramètre surfalse。
| Bien quetruesignifie la création automatique de la base de donnéesTable, mais la base de données ne sera pas créée automatiquement. Par conséquent, la base de données doit exister. |
Base de données WebSecurity
UserProfileLa table crée et sauvegarde un enregistrement pour chaque utilisateur, avec l'ID utilisateur (clé primaire) et le nom d'utilisateur (e-mail) :
| UserId | |
|---|---|
| 1 | [email protected] |
| 2 | [email protected] |
| 3 | [email protected] |
MembershipLa table contient des informations d'adhésion, comme la date à laquelle l'utilisateur a été créé, si l'adhésion a été confirmée, quand l'adhésion a été confirmée, etc.
Les détails sont les suivants (certaines colonnes ne sont pas affichées) :
| Utilisateur Id |
Créez 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 |
Remarque : Si vous souhaitez voir toutes les colonnes et tout le contenu, ouvrez la base de données et regardez chaque table à l'intérieur.
Configuration de Simple Membership
Lorsque vous utilisez l'objet WebSecurity, si votre site n'est pas configuré pour utiliser le système d'adhésion ASP.NET Web PagesSimpleMembership, une erreur peut se produire.
Si la configuration du serveur de votre fournisseur d'hébergement est différente de la configuration de votre serveur local, une erreur peut également se produire. Pour résoudre ce problème, ajoutez les éléments suivants au fichier Web.config de votre site Web :
<add key="enableSimpleMembership" value="true" />
</appSettings>
Autres extensions