最新的Web开发教程
 

ASP.NET网页 - WebSecurity对象


描述

WebSecurity对象提供安全和认证的ASP.NET网页应用程序。

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


WebSecurity对象参考 - 属性

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

WebSecurity对象参考 - 方法

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

技术数据

名称
WebMatrix.WebData.WebSecurity
命名空间 WebMatrix.WebData
部件 WebMatrix.WebData.dll

初始化WebSecurity数据库

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

在您的网站的根目录,创建一个页面(or edit the page )命名_AppStart.cshtml。

将下面的代码文件中:

_AppStart.cshtml

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

上面的代码将每个网站时运行(application)启动。 它初始化WebSecurity数据库。

“用户”是WebSecurity数据库的名称(Users.sdf)

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

“用户ID”是包含用户ID的列的名称(primary key)

“电子邮件”是一个包含用户名的列名。

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

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


该WebSecurity数据库

用户配置表包含每个用户的一个记录,一个用户ID (primary key)和用户名(email)

用户名 电子邮件
1 [email protected]
2 [email protected]
3 [email protected]

会员表将包含用户创建时左右,如果会员信息(and when)成员证实。

就像这样(some columns are not shown)

用户
ID
创建
日期
确认
代币

确认
持续
密码
失败
密码 密码
更改
1 12.04.2012 16点12分17秒 空值 真正 空值 AFNQhWfy .... 12.04.2012 16点12分17秒

注意:如果你想看到所有列和所有内容,与WebMatrix中打开数据库并查看每个表内。


简单的成员配置

你可能会使用WebSecurity对象,如果您的网站未配置为使用ASP.NET网页会员制SimpleMembership出现错误。

如果托管服务提供商的服务器不是本地服务器配置不同会发生这种情况。 为了解决这个问题,下面的元素添加到网站的Web.config文件中:

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