Tutoriel ASP.NE...login
Tutoriel ASP.NET
auteur:php.cn  temps de mise à jour:2022-04-11 14:18:18

Sécurité des pages Web


Pages Web ASP.NET - Objet WebSecurity


Description

Objet WebSecurity fourni par ASP Applications de pages Web .NET.

Avec l'objet WebSecurity, vous pouvez créer des comptes d'utilisateurs, vous connecter et vous déconnecter des utilisateurs, réinitialiser ou modifier les mots de passe et bien d'autres fonctions liées à la sécurité.


Manuel de référence des objets WebSecurity - Propriétés

属性描述
CurrentUserId 获取当前登录用户的 ID。
CurrentUserName获取当前登录用户的名称。
HasUserId如果当前有用户 ID,则返回 true。
IsAuthenticated如果当前用户是登录的,则返回 true。

Manuel de référence des objets WebSecurity - Méthodes

方法描述
ChangePassword()为指定的用户更改密码。
ConfirmAccount()使用帐户确认令牌确认帐户。
CreateAccount()创建一个新的用户帐户。
CreateUserAndAccount()创建一个新的用户帐户。
GeneratePasswordResetToken()生成一个密码重置令牌,可以在电子邮件中发送给用户以便用户可以重设密码。
GetCreateDate()获取指定会员创建的时间。
GetPasswordChangeDate()获取密码变更的日期和时间。
GetUserId()根据用户名称获取用户 ID。
InitializeDatabaseConnection()初始化 WebSecurity 系统(数据库)。
IsConfirmed()检查用户是否已被确认。如果已确认,则返回 true。(例如,可通过电子邮件进行确认。)
IsCurrentUser()检查当前用户的名称是否与指定用户名匹配。如果匹配,则返回 true。
Login()设置身份验证令牌,登录用户。
Logout()移除身份验证令牌,注销用户。
RequireAuthenticatedUser()如果用户未通过身份验证,则设置 HTTP 状态为 401(未经授权)。
RequireRoles()如果当前用户不是指定角色的成员,则设置 HTTP 状态为 401(未经授权)。
RequireUser()如果当前用户不是指定用户名的用户,则设置 HTTP 状态为 401(未经授权)。
ResetPassword()如果密码重置令牌是有效的,改变用户的密码为新密码。
UserExists()检查指定的用户是否存在。


Données techniques

名称
ClassWebMatrix.WebData.WebSecurity
NamespaceWebMatrix.WebData
AssemblyWebMatrix.WebData.dll


Initialisation de la base de données WebSecurity

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 :

_AppStart.cshtml

@{
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.

"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 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'adhésion n'existent pas, les tables seront automatiquement créées. Si vous ne souhaitez pas créer automatiquement le tableau, vous devez définir le paramètre sur false.

lamp.gifBien
lamp.gif虽然 true 表示自动创建数据库 ,但是数据库不会被自动创建。所以数据库必须存在。
vrai
signifie créer automatiquement la base de données
table

, mais la base de données ne sera pas automatiquement créée. La base de données doit donc exister.

La table

UserIdEmail
1john@johnson.net
2peter@peterson.com
3lars@larson.eut
UserProfile

de la base de données WebSecurity crée et enregistre un enregistrement pour chaque utilisateur. ID utilisateur (clé primaire) et nom d'utilisateur (e-mail) :

Adhésion

Le tableau contient des informations sur le membre, telles que la date de création de l'utilisateur, si le membre a été authentifié, et ce qu'est le membre lorsqu'il est certifié, etc.
User
Id
Create
Date
Confirmation
Token
Is
Confirmed
Last
Password
Failure
PasswordPassword
Change
112.04.2012 16:12:17NULLTrueNULLAFNQhWfy....12.04.2012 16:12:17
<🎜>Les détails sont les suivants (certaines colonnes ne sont pas affichées) : <🎜>
User<🎜>Id Créer<🎜>DateConfirmation<🎜>JetonEst<🎜>ConfirméDernier<🎜>Mot de passe<🎜 >Échec Mot de passeMot de passe<🎜>Changement
112.04.2012 16:12 :17 NULLVraiNULLAFNQhWfy....12.04.2012 16 : 12 : 17

Remarque : si vous souhaitez voir toutes les colonnes et leur contenu, veuillez ouvrir la base de données et examiner chaque tableau à l'intérieur.


Configuration d'adhésion simple

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, il peut signaler une erreur.

Des erreurs peuvent également survenir 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>