La sécurité et l'authentification des applications ASP.NET WebPages sont garanties via l'objet WebSecurity. Cette section vous présente les propriétés, les méthodes et les utilisations associées de l'objet WebSecurity.
L'objet WebSecurity assure la sécurité et l'authentification pour les applications de pages Web ASP.NET.
Grâce à l'objet WebSecurity, vous pouvez créer des comptes d'utilisateurs, connecter et déconnecter des utilisateurs, réinitialiser ou modifier des mots de passe et bien d'autres fonctions liées à la sécurité.
propriété | décrire |
---|---|
ID utilisateur actuel | Obtenez l'ID de l'utilisateur actuellement connecté. |
Nom d'utilisateur actuel | Obtenez le nom de l'utilisateur actuellement connecté. |
HasUserId | Renvoie vrai s’il existe actuellement un ID utilisateur. |
EstAuthentifié | Renvoie vrai si l'utilisateur actuel est connecté. |
méthode | décrire |
---|---|
Changer le mot de passe() | Modifiez le mot de passe de l'utilisateur spécifié. |
Confirmer le compte() | Confirmez le compte à l'aide du jeton de confirmation de compte. |
Créer un compte() | Créez un nouveau compte utilisateur. |
CréerUtilisateurEtCompte() | Créez un nouveau compte utilisateur. |
GénérerPasswordResetToken() | Génère un jeton de réinitialisation de mot de passe qui peut être envoyé à l'utilisateur dans un e-mail afin que l'utilisateur puisse réinitialiser son mot de passe. |
GetCreateDate() | Obtenez l'heure de création du membre spécifié. |
GetPasswordChangeDate() | Obtenez la date et l'heure auxquelles le mot de passe a été modifié. |
GetUserId() | Obtenez l'ID utilisateur en fonction du nom d'utilisateur. |
InitializeDatabaseConnection() | Initialisez le système WebSecurity (base de données). |
EstConfirmé() | Vérifiez si l'utilisateur a été confirmé. Renvoie vrai si confirmé. (La confirmation peut se faire par e-mail, par exemple.) |
EstCurrentUser() | Vérifie si le nom de l'utilisateur actuel correspond au nom d'utilisateur spécifié. S'il y a une correspondance, retournez vrai. |
Se connecter() | Définissez le jeton d'authentification et connectez l'utilisateur. |
Déconnexion() | Supprimez le jeton d'authentification et déconnectez l'utilisateur. |
RequireAuthenticatedUser() | Si l'utilisateur n'est pas authentifié, définit le statut HTTP sur 401 (non autorisé). |
Exiger des rôles() | Si l'utilisateur actuel n'est pas membre du rôle spécifié, définit le statut HTTP sur 401 (Non autorisé). |
ExigerUtilisateur() | Si l'utilisateur actuel n'est pas celui portant le nom d'utilisateur spécifié, définissez l'état HTTP sur 401 (Non autorisé). |
Réinitialiser le mot de passe() | Si le jeton de réinitialisation du mot de passe est valide, remplacez le mot de passe de l'utilisateur par le nouveau mot de passe. |
L'utilisateur existe() | Vérifie si l'utilisateur spécifié existe. |
nom | valeur |
---|---|
Classe | WebMatrix.WebData.WebSecurity |
Espace de noms | WebMatrix.WebData |
Assemblée | WebMatrix.WebData.dll |
Si vous souhaitez utiliser des objets 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 appelée _AppStart.cshtml (ou modifiez directement la page si elle existe déjà).
Copiez le code suivant dans le fichier :
@{ WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true });
Le code ci-dessus s'exécutera à chaque démarrage du site Web (application). Il initialise la base de données WebSecurity.
"Utilisateurs" 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 contenant l'ID utilisateur (clé primaire).
"Email" est le nom de la colonne contenant le nom d'utilisateur.
Le dernier paramètre true est une valeur booléenne, indiquant que si la table de configuration utilisateur et la table d'appartenance n'existent pas, les tables seront automatiquement créées. Si vous ne souhaitez pas créer automatiquement la table, vous devez définir le paramètre sur false .
Bien que true signifie que la table de base de données sera automatiquement créée, la base de données ne sera pas automatiquement créée. La base de données doit donc exister. |
La table UserProfile crée et enregistre un enregistrement pour chaque utilisateur, ID utilisateur (clé primaire) et nom d'utilisateur (e-mail) :
ID de l'utilisateur | |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
La table Adhésion contient des informations sur l'adhésion, telles que la date de création de l'utilisateur, si le membre a été authentifié, la date à laquelle le membre a été authentifié, etc.
Les détails sont les suivants (certaines colonnes ne sont pas affichées) :
ID de l'utilisateur | Date de création | Jeton de confirmation | est confirmé | Échec du dernier mot de passe | Mot de passe | Changement de mot de passe |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NUL | Vrai | NUL | AFNQhWfy.... | 12.04.2012 16:12:17 |
Remarque : Si vous souhaitez voir toutes les colonnes et leur contenu, ouvrez la base de données et examinez chaque table qu'elle contient.
Lorsque vous utilisez l'objet WebSecurity, si votre site n'est pas configuré pour utiliser le système d'adhésion ASP.NET Web Pages SimpleMembership , une erreur peut être signalée.
Des erreurs peuvent également se produire si le serveur du fournisseur d'hébergement est configuré différemment de votre serveur local. Pour résoudre ce problème, ajoutez l'élément suivant au fichier Web.config de votre site Web :
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>
Ce qui précède est une introduction à l'objet WebSecurity.