《2022年ASP_NETMembership角色与权限管理 .pdf》由会员分享,可在线阅读,更多相关《2022年ASP_NETMembership角色与权限管理 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ASP.net Membership角色与权限管理( 一)本文目录:1.membership简介2.membership在 sql server中的设置3. 配置 web.config4. 创建用户CreateUserWizard控件5. 用户登录login控件6. 显示当前用户的名称LoginName控件7. 检测用户的身份验证状态的LoginStatus控件8. 为不同类别用户呈现不同内容的LoginView控件9. 更改密码的ChangePassword控件10. 自助找回密码的PasswordRecovery控件11. 总结1.membership简介membership,真的很有趣,
2、很方便,很有用。介绍给大家。在 ASP.NET 应用程序中, Membership 类用于验证用户凭据并管理用户设置(如密码和电子邮件地址)。Membership 类可以独自使用,或者与FormsAuthentication一起使用,以创建一个完整的Web 应用程序或网站的用户身份验证系统。Login 控件封装了Membership 类,从而提供一种便捷的用户验证机制。Membership 类提供的功能可用于:1) 创建新用户。2) 将成员资格信息(用户名、密码、电子邮件地址及支持数据)存储在Microsoft SQL Server 或其他类似的数据存储区。3) 对访问网站的用户进行身份验证。
3、可以以编程方式对用户进行身份验证,也可以使用Login 控件创建一个只需很少代码或无需代码的完整的身份验证系统。4) 管理密码。包括创建、更改、检索和重置密码等等。可以选择配置ASP.NET 成员资格以要求一个密码提示问题及其答案来对忘记密码的用户的密码重置和检索请求进行身份验证。默认情况下, ASP.NET 成员资格可支持所有ASP.NET 应用程序。默认成员资格提供程序为 SqlMembershipProvider并在计算机配置中以名称AspNetSqlProvider指定。SqlMembershipProvider的默认实例配置为连接到Microsoft SQL Server 的一个本地
4、实例。2.membership在 sql server中的设置要使用 membership,需要对数据库进行一些设置,使用过membership的朋友知道,数据库中有一些固有的表、视图和存储过程,我们自己的表中没有这些东西。不过,我们可以通过向导来创建它们,那就是aspnet_regsql.exe,一般来说它位于:C:WINDOWSMicrosoft.NETFrameworkv2.0.50727(我的就在这里)它既可以创建数据库中的选项,也可以移除这些设置。在运行这个程序之前,我在sql server2005中建立了一个空的数据库:membershipdemo。建立 membershipdem
5、o后,我们运行 aspnet_regsql.exe,指定membership为 membershipdemo。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 3. 配置 web.configweb.config也是要
6、修改的。在system.web节点下添加authentication节点。membership既然是用于成员资格管理,当然要求登录验证身份,所以首先加上一个forms验证。123同样在 system.web节点下添加membership节点。123456属性解释说明:defaultProvider:提供程序的名称。默认为AspNetSqlMembershipProvider。如果你有多个Provider的话,指定一个默认值是明智的做法userIsOnlineTimeWindow: 指定用户在最近一次活动的日期/时间戳之后被视为联机的分钟数。hashAlgorithmType:用于哈希密码的算法
7、的标识符,或为空以使用默认哈希算法。connectionStringName:membership数据库的连接名称。enablePasswordRetrieval:指示当前成员资格提供程序是否配置为允许用户检索其密码。enablePasswordReset: 指示当前成员资格提供程序是否配置为允许用户重置其密码。requiresQuestionAndAnswer:指示默认成员资格提供程序是否要求用户在进行密码重置和检索时回答密码提示问题。applicationName:应用程序的名称。requiresUniqueEmail:指示成员资格提供程序是否配置为要求每个用户名具有唯一的电子邮件地址。名
8、师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - passwordFormat:指示在成员资格数据存储区中存储密码的格式。值可选Clear 、Encrypted 和 Hashed 。 Clear 密码以明文形式存储,这可以提高存储和检索密码的性能,但安全性较差,当数据源安全性受到威胁时此类密码很容易被读取。Encrypted 密码在存储时进行了加密, 可以在比较或检索密码时进行解密。此类密码在存储和检索时需要进行额外的处理,但比较安
9、全,在数据源的安全性受到威胁时不容易被获取。Hashed 密码在存储到数据库时使用单向哈希算法和随机生成的salt 值进行哈希处理。在验证某一密码时,将用数据库中的salt 值对该密码进行哈希计算以进行验证。无法检索哈希密码。maxInvalidPasswordAttempts: 锁定成员资格用户前允许的无效密码或无效密码提示问题答案尝试次数。minRequiredPasswordLength:密码所要求的最小长度。minRequiredNonalphanumericCharacters:有效密码中必须包含的最少特殊字符数。passwordAttemptWindow:在锁定成员资格用户之前允许
10、的最大无效密码或无效密码提示问题答案尝试次数的分钟数。这是为了防止不明来源反复尝试来猜测成员资格用户的密码或密码提示问题答案的额外措施。passwordStrengthRegularExpression:计算密码的正则表达式。为 membership配置 web.config后,再配置其角色管理roleManager,也是在system.web下。123456属性解释说明:cacheRolesInCookie:指示当前用户的角色是否已缓存在某个Cookie 中。当 CacheRolesInCookie属性在配置文件中设置为true 时,每个用户的角色信息就会存储在客户端上的某个Cookie 中
11、。当角色管理检查确定某个用户是否属于某个特定角色时,在调用角色提供程序在数据源中检查角色列表之前,将先检查角色Cookie 。 该 Cookie 在客户端上会动态更新以缓存最近已验证的角色名称。web.config就配置差不多了。真正步入正题。4. 创建用户CreateUserWizard控件名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 在 vs2005中创建一个aspx 页面,取名CreateUserWizard.aspx。直接从toolbox中拖入一个CreateUserWizard控件,设置一下FinishDestinationPageUrl属性,该属性指示用户创建完成后,用户点击“ 继续 ” 后定向的页面。1 2名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -