第10章_ASP NET安全管理.ppt

上传人:bao****ty 文档编号:145246669 上传时间:2020-09-18 格式:PPT 页数:34 大小:690KB
返回 下载 相关 举报
第10章_ASP NET安全管理.ppt_第1页
第1页 / 共34页
第10章_ASP NET安全管理.ppt_第2页
第2页 / 共34页
第10章_ASP NET安全管理.ppt_第3页
第3页 / 共34页
第10章_ASP NET安全管理.ppt_第4页
第4页 / 共34页
第10章_ASP NET安全管理.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《第10章_ASP NET安全管理.ppt》由会员分享,可在线阅读,更多相关《第10章_ASP NET安全管理.ppt(34页珍藏版)》请在金锄头文库上搜索。

1、第10章 ASP.NET安全管理,内容,身份验证 角色与授权 通过编程方式实现验证与授权 配置文件加密,10.1 身份验证,验证模式 使用CreateUserWizard控件注册 使用Login控件登录 其它登录型控件,10.1.1 验证模式,表10-1: ASP.NET 3.5提供的四种不同验证模式,验证模式可以在ASP.NET网站管理工具或web.config中配置。 在web.config中,身份验证信息应配置在/节点中,如: . . ,在web.config中配置Forms模式时,通常指定一个登录页面。 当用户对Web应用中的某个页面发出请求时,如果该用户没有通过验证,就会被重定向到登

2、录页面,在登录页面中,用户能够输入身份凭据(用户名与密码)。 如果输入的凭据通过验证,用户会被重定向到最初所请求的页面上。 示例代码: ,表10-2: Forms验证模式部分常用配置属性,10.1.2 使用CreateUserWizard控件注册,用户管理的第一步是提供成员注册功能,可以使用CreateUserWizard控件来完成这个工作。,注意:CreateUserWizard控件默认要求用户提供的密码最短长度为7,且必须至少包含1个非字母数字字符(例如“#”)。 如果希望修改这个限制,可以将machine.config文件中成员管理提供节点中的minRequiredPasswordLen

3、gth(最短密码长度)和minRequiredNonalphanumericCharacters (最少非字母数字个数)属性进行修改,修改将作用于整个服务器之上。,使用CreateUserWizard控件时,应注意ContinueButtonClick事件。新用户注册成功后,单击第二个向导页上的“继续”按钮,就会触发ContinueButtonClick事件。 如果希望注册成功后从注册页面重定向到网站首页,可双击CreateUserWizard控件的事件窗口中的ContinueButtonClick事件,按如下方式完成事件处理代码: protected void CUW1_ContinueBu

4、ttonClick(object sender, EventArgs e) Response.Redirect(/HomePage.aspx); ,10.1.3 使用Login控件登录,Login控件显示用于执行用户身份验证的用户界面。 默认的Login控件包含用于输入用户名和密码的文本框和一个复选框。,通过使用Login控件,开发者无须编写执行身份验证的代码,这项工作由Login控件结合ASP.NET成员服务自动完成。 如果想创建自定义的身份验证逻辑,则可以在Login控件的Authenticate事件中添加处理代码。,表10-3 : Login控件的常用属性,10.1.4 其它登录型控件,

5、用户通过验证之后,ASP.NET 3.5中提供了各种用于处理用户信息的登录型控件,主要包含以下五种。 LoginView控件:可以向匿名用户和登录用户显示不同的信息。显示给匿名用户的信息放置在AnonymousTemplate模板中,显示给通过身份验证用户的信息放置在LoggedInTemplate模板中,模板的切换由系统自动完成。 LoginStatus控件:为没有通过身份验证的用户显示“登录”超链接,为通过身份验证的用户显示“注销”超链接。“登录”超链接将重定向到登录页面,“注销”超链接将当前用户的身份重置为匿名用户。,LoginName控件:为通过身份验证的用户显示该用户的登录名。如果使

6、用的是Windows验证模式,该控件将显示用户的Windows帐户名。 ChangePassword控件:提供用户密码修改功能,可以被匿名用户和登录用户使用。如果是匿名用户,该控件将提示其输入身份凭据;如果是登录用户,该控件将自动填充用户名。 PasswordRecovery控件:允许用户根据注册时提供的安全问题与答案来找回密码。注意,密码是以明文形式发送到用户注册时提供的电子邮件中。,【例10-1】登录型服务器控件示例程序。,参见示例第08章codeRegister.aspx、PasswordRecovery.aspx 和ChangePassword.aspx,10.2 角色与授权,创建角色

7、 在web.config中授权,10.2.1 创建角色,利用ASP.NET中提供的网站管理工具可以很方便地完成角色管理以及其它与安全管理相关的工作。 打开ASP.NET网站管理工具,切换到安全选项卡,单击角色栏中的启用角色按钮。,启用角色后,网站管理工具将在web.config文件中自动添加如下启用角色管理的代码: ,切换到安全选项卡,选择创建和管理角色,进入创建角色窗口,并在新角色名称中输入一个角色名,单击添加角色按钮即完成了新角色的创建。,10.2.2 在web.config中授权,通过授权,可以显示地允许或拒绝某个用户或角色对特定目录的访问权限。 如果访问了没有权限的页面或资源时,访问者

8、将被重定向到登录页面。 在web.config的节点的子节点中配置授权。authorization节点的语法规则如下: ,表10-4:授权属性,【例10-2】在web.config中授权的示例程序。,假设已在Web站点中分别创建了一个名为“Syman”的用户和一个名为“Administrator”的角色,下面分别对Syman用户和Administrator角色成员进行访问授权。,(1)拒绝所有匿名用户访问的规则代码如下: ,(2)允许Administrator角色成员和Syman用户,拒绝所有其他用户访问的规则代码如下: ,(3)允许所有用户的GET请求,但只允许Syman执行POST请求的规

9、则代码如下: 注意,也可以使用逗号来分隔users和roles属性值列表中的多个元素,如下所示: ,(4)拒绝所有匿名用户访问名为“10-2”的目录,但对于其中的“Default.aspx”页面,允许所有用户访问。首先需要在目录“10-2”的web.config中添加拒绝所有匿名用户的规则,然后在网站根目录的web.config中添加一个location子节点,代码如下: ,参见示例第08章code10-2Web.config和根目录下的Web.config,10.3 通过编程方式实现验证与授权,使用成员资格服务类验证 使用角色管理类授权,10.3.1 使用成员资格服务类验证,成员资格服务类是

10、由ASP.NET中一组创建和管理用户的类和接口组成,位于System.Web.Security命名空间中。,表10-5 :成员资格服务类,【例10-3】以编程方式创建和删除用户示例程序。,参见示例第08章10-3.aspx,10.3.2 使用角色管理类授权,使用ASP.NET中的角色管理类能够指定应用程序中的各种用户可访问哪些资源,可以通过将用户分配到相应角色来对其进行分组。 角色管理服务类包含一组用于为当前用户建立角色并管理角色信息的类和接口,同样位于System.Web.Security命名空间中,其中以Roles类为主。,表10-6 : Roles类的常用属性和方法,10.4 配置文件加

11、密,ASP.NET站点中存储敏感信息的主要位置之一是web.config配置文件。为了保护配置文件中的信息,ASP.NET 3.5提供了一项称为“受保护配置”的功能,可以用于加密配置文件中的敏感信息。 【例10-4】web.config配置文件加密示例程序。,10.5 小结,本章主要介绍了ASP.NET中三种用于安全管理的技术。 验证技术解决了用户的成员资格验证,即“我是谁?”的问题; 授权技术解决了成员权限的授予,即“我能做什么?”的问题; 配置文件加密技术解决了如何保护网站中敏感、重要信息的问题。,上机实训,详见本书第10章后实训10,请学生独立完成。,习题,详见本书第10章后习题部分,请学生独立完成。,本 章 结 束!,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号