当前位置:K88软件开发文章中心编程语言.NET.NET02 → 文章内容

ASP.NET Web Pages WebSecurity 参考手册

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-14 1:44:00

ASP.NET Web Pages - WebSecurity 对象描述WebSecurity 对象提供 ASP.NET Web Pages 应用程序的安全性和认证。通过 WebSecurity 对象,您可以创建用户帐户,登录和注销用户,重置或者更改密码,以及其他更多与安全性相关的功能。WebSecurity 对象参考手册 - 属性属性描述CurrentUserId获取当前登录用户的 ID。CurrentUserName获取当前登录用户的名称。HasUserId如果当前有用户 ID,则返回 true。IsAuthenticated如果当前用户是登录的,则返回 true。WebSecurity 对象参考手册 - 方法方法描述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()检查指定的用户是否存在。技术数据名称值ClassWebMatrix.WebData.WebSecurityNamespaceWebMatrix.WebDataAssemblyWebMatrix.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):UserIdEmail1john@johnson.net2 peter@peterson.com3lars@larson.eutMembership 表包含会员信息,比如用户是什么时候创建的,该会员是否已认证,会员是什么时候认证的,等等。具体如下所示(一些列不显示):UserIdCreateDateConfirmationTokenIsConfirmedLastPasswordFailurePasswordPasswordChange112.04.2012 16:12:17NULLTrueNULLAFNQhWfy....12.04.2012 16:12:17注释:如果您想看到所有的列和内容,请打开数据库,看看里边的每个表。简单的会员配置在您使用 WebSecurity 对象时,如果您的站点没有配置使用 ASP.NET Web Pages 会员系统 SimpleMembership,可能会报错。如果托管服务提供商的服务器的配置与您本地服务器的配置不同,也可能会报错。为了解决这个问题,请在网站的 Web.config 文件中添加以下元素:<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>

ASP.NET Web Pages WebSecurity 参考手册