Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

ASP.NET 网页 - WebSecurity 对象


描述

WebSecurity 对象为 ASP.NET 网页应用程序提供安全性 and 身份验证。

使用 WebSecurity 对象,您可以创建用户帐户、登录和注销用户、重置或更改密码等等。


WebSecurity 对象参考 - 属性

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

WebSecurity 对象参考 - 方法

方法 描述
ChangePassword() 更改用户的密码
ConfirmAccount() 使用确认令牌确认帐户
CreateAccount() 创建一个新的用户帐户
CreateUserAndAccount() 创建一个新的用户帐户
GeneratePasswordResetToken() 生成可以通过电子邮件发送给用户的令牌
GetCreateDate() 获取指定成员资格创建的时间
GetPasswordChangeDate() 获取更改密码的日期和时间
GetUserId() 从用户名获取用户 ID
InitializeDatabaseConnection() 初始化 WebSecurity 系统(数据库)
IsConfirmed() 检查用户是否已确认
IsCurrentUser() 检查当前用户是否与用户名匹配
Login() 通过在 Cookie 中设置令牌来登录用户
Logout() 通过删除令牌 Cookie 来注销用户
RequireAuthenticatedUser() 如果用户不是已验证用户,则退出页面
RequireRoles() 如果用户不是指定角色的一部分,则退出页面
RequireUser() 如果用户不是指定用户,则退出页面
ResetPassword() 使用令牌更改用户的密码
UserExists() 检查给定用户是否存在


初始化 WebSecurity 数据库

在您可以在代码中使用 WebSecurity 对象之前,您必须创建或初始化 WebSecurity 数据库。

在您的 web 根目录中,创建一个页面(或编辑页面),名为 _AppStart.cshtml

将以下代码放在文件内

_AppStart.cshtml

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

上面的代码将在每次网站(应用程序)启动时运行。它初始化 WebSecurity 数据库。

"Users" 是 WebSecurity 数据库的名称(Users.sdf)。

"UserProfile" 是包含用户配置文件信息的数据库表的名称。

"UserId" 是包含用户 ID(主键)的列的名称。

"Email" 是包含用户名的列的名称。

最后一个参数 true 是一个布尔值,表示如果用户配置文件和成员资格表不存在,则应自动创建它们,否则为 false

虽然 true 表示自动创建数据库 表,但数据库本身不会自动创建。它必须存在。


WebSecurity 数据库

UserProfile 表包含每个用户的记录,其中包含用户 ID(主键)和用户的名称(电子邮件)

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

Membership 表将包含有关用户何时创建以及(以及何时)确认成员资格的信息。

类似于此(一些列未显示)

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

简单成员资格配置

如果您的网站未配置为使用 ASP.NET 网页成员资格系统 SimpleMembership,您可能会在使用 WebSecurity 对象时遇到错误。

如果托管提供商的服务器配置与您的本地服务器不同,则可能会发生这种情况。要解决此问题,请将以下元素添加到网站的 Web.config 文件中

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


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.