首页
会员中心
到顶部
到尾部
ASP.NET教程

ASP.NET Web Pages - WebSecurity 对象

时间:2020/11/2 14:09:07  作者:  来源:  查看:0  评论:0
内容摘要:ASP.NET Web Pages - WebSecurity 对象WebPages 类WebPages 数据库描述WebSecurity 对象提供为 ASP.NET Web Pages 应用程序提供安全和认证。通过 WebSecurity 对象,您能够创建用户账户、登录和注销,...

ASP.NET Web Pages - WebSecurity 对象

描述

WebSecurity 对象提供为 ASP.NET Web Pages 应用程序提供安全和认证。

通过 WebSecurity 对象,您能够创建用户账户、登录和注销,重置或更改密码等等。

WebSecurity 对象参考手册 - 属性

属性描述
CurrentUserId获取当前用户的 ID。
CurrentUserName获取当前用户的名称。
HasUserId获取指示当前用户是否具有用户 ID 的值。如果是,返回 true。
IsAuthenticated获取当前用户的身份验证状态。

WebSecurity 对象参考手册 - 方法

属性描述
ChangePassword()更改用户的密码。
ConfirmAccount()确认帐户有效并激活该帐户。
CreateAccount()创建新的用户帐户。
CreateUserAndAccount()创建新的用户帐户。
GeneratePasswordResetToken()生成可以通过电子邮件发送给用户的密码重置令牌。
GetCreateDate()返回创建指定成员资格帐户的日期和时间。
GetPasswordChangeDate()返回最近更改指定成员资格帐户密码的日期和时间。
GetPasswordFailures
SinceLastSuccess()
返回自上次成功登录或创建成员资格帐户以来错误输入密码的次数。
GetUserId()基于指定用户名返回用户 ID。
GetUserIdFrom
PasswordResetToken ()
从密码重置令牌中返回用户 ID。
InitializeDatabaseConnection()通过连接到包含用户信息的数据库来初始化成员资格系统。
IsAccountLockedOut()指示指定的成员资格帐户是否因为密码尝试失败次数太多而被锁定。
IsConfirmed()返回一个值,指示用户是否已经过确认的值。
IsCurrentUser()返回一个值,指示已登录用户的用户名是否与指定用户名匹配的值。
Login()登录用户。
Logout()注销用户。
RequireAuthenticatedUser()如果用户未经过身份验证,请将 HTTP 状态设置为 401(未经授权)。
RequireRoles()如果当前用户不属于指定的角色,请将 HTTP 状态代码设置为 401。
RequireUser()如果当前用户不是指定用户,请将 HTTP 状态设置为 401。
ResetPassword()通过使用密码重置令牌来重置密码。
UserExists()检查用户是否存在。

技术数据

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

初始化 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 (主键)和用户名称(email):

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

Membership 表包含成员资格信息,比如用户何时创建以及是否(以及何时)确认成员资格。

类似这样(某些列未列出):

UserId创建日期确认
令牌
是否
确认
最后的
密码错误
密码密码更改
112.04.2012 16:12:17NULLTrueNULLAFNQhWfy....12.04.2012 16:12:17

注释:如果您希望看到所有列和所有内容,请通过 WebMatrix 打开数据库,然后查看每张表。

简单的成员资格配置

如果您的站点未配置为使用 ASP.NET Web Pages 成员资格系统 SimpleMembership,那么可能会在使用 WebSecurity 对象时出现错误。

如果主机提供商的配置与您的本地服务器不同,就会发生错误。为了解决这个问题,请在站点的 Web.config 文件中添加以下元素:

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


相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号