已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实现Web应用程序的安全控制 学习目标 Web应用程序安全性的基本概念 配置ASP NETWeb应用程序的的安全 成员资格概述 使用Web登录控件管理用户 使用角色管理授权 Web应用程序安全性的基本概念 Web应用程序安全性包含下列两方面的功能 1 身份验证验证用户的身份 即通过获取用户的凭据 各种形式的标识 如用户名和密码 并通过某些授权机构验证获取的用户凭据 如果这些凭据有效 则将提交这些凭据的实体视为通过身份验证 2 授权授权用户对应用程序资源的访问权限 即通过对已验证身份授予或拒绝对特定资源的访问权限 以实现资源的访问保护和限制 ASP NET安全结构 ASP NET用户身份验证 结合Internet信息服务 IIS ASP NET验证用户身份的方法包括 Windows验证Forms身份验证MicrosoftPassport身份验证 ASP NET资源授权访问 结合IIS目录权限控制 Web config配置文件和WindowsNTFS文件系统权限 ASP NET可以实现对Web应用程序的资源授权访问 主目录 虚拟目录权限 通过IIS 设置IIS主目录路 虚拟目录的访问权限 Web config配置文件 使用Web config 声明列出了已授权用户 已授权角色 组 对各资源的访问权限 NTFS文件系统权限 ASP NET配置文件安全设置 Web config配置文件中用于安全的配置主要包含三个主要的配置节 authenticationauthorizationlocation authentication节 authentication节用于配置ASP NET身份验证方案 可以指定应用程序使用的验证模式 Windows 默认 Forms Passport None authentication节配置格式如下 authorization节 authorization节用于配置Web应用程序的授权 以控制客户端对URL资源的访问权限 例1 下列配置代码允许所有Admins角色成员访问 拒绝所有其他用户访问 location节 location节用于指定应用到特定文件或目录的设置 例如 下列配置代码允许允许匿名用户访问Logon aspx页面 DEMO 配置ASP NET的安全 操作实例10 1 配置ASP NET的安全操作任务 配置第9课创建的学生成绩管理系统ASP NETWeb数据库应用程序的安全 当未登录用户访问登录页面以外的页面时 自动跳转到登录页面 Windows验证概述 在ASP NET应用程序中 Windows身份验证将MicrosoftInternet信息服务 IIS 所提供的用户标识视为已经过身份验证的用户 IIS提供了下列几种用于验证用户标识的身份验证机制 匿名身份验基本身份验证摘要式身份验证Windows集成身份验证基于客户端证书的身份验证 Forms身份验证概述 使用Forms身份验证 即基于窗体的身份验证 时 应用程序通过用户提供的登录用户界面并进行自己的凭据验证 ASP NET对用户进行身份验证 将未经身份验证的用户重定向到登录页 并执行所有必要的Cookie管理 要使用Forms身份验证 必须配置Web config文件 设置的模式为Forms以启用基于窗体的身份验证 并拒绝匿名用户访问 使用IIS进行安全授权 使用IIS进行安全授权 1 IP地址及域名限制 2 主目录 虚拟目录访问许可 DEMO 配置IIS虚拟目录的权限 操作实例10 2 配置IIS虚拟目录的权限操作任务 设置网站WEBDB的虚拟目录WEBDB访问许可 允许用户列目录和写入权限 NTFS文件系统访问权限 通过使用NTFS文件系统和访问控制列表 ACL 指定哪些用户和哪些用户组可以访问应用程序文件可以在操作系统级别上保护ASP NET应用程序文件 以提高该应用程序的安全性 具体操作方法请参阅Windows的在线帮助 成员资格的基本概念 ASP NET成员资格 Membership 提供了一种验证和存储用户凭据的内置方法 结合ASP NET成员资格 ASP NETForms身份验证 ASP NET登录控件 用户可以高效地创建一个完整的用户身份验证系统 成员资格包括两个主要类 1 Membership 2 MembershipUser 配置网站以使用成员资格 要使用成员资格 必须先配置应用程序使用的成员资格提供程序 在应用程序的Web config文件中 system web节子元素membership用于配置ASP NET成员资格 默认情况下 Machine config配置文件包括一个默认的提供程序 指向应用程序子目录App Data下SQLServer本地数据库aspnetdb mdf 创建用户 使用成员资格方式管理用户时 可以使用下列三种方法创建新用户 1 使用网站管理工具使用网站管理工具 通过图形界面 可以直接创建和管理用户 2 使用编程方式使用自定义创建用户页面 在事件处理程序中 调用成员资格函数以编程方式创建和管理用户 3 使用登录控件使用CreateUserWizard控件 自动实现创建新用户的功能 用户登录页面 将应用程序配置为使用Forms身份验证时 使用loginUrl属性指定用于验证的页面 一般为login aspx 实现用户登录页面的方法有两种 1 使用登录控件使用包含Login控件的页面 自动验证用户输入的用户名 密码 验证成功后 将经过身份验证的用户重定向回最初请求的URL或默认URL 2 使用自定义页面创建自定义页面 一般包括用户名和密码文本框 使用Membership ValidateUser方法验证用户输入的用户名 密码 Web登录控件的概念 ASP NET2 0提供了一系列的服务器登录控件 Login LoginView LoginStatus LoginName和PasswordRecovery 登录控件实际上封装了使用成员资格进行验证的所有逻辑 登录控件使用ASP NET2 0中内置的成员资格服务和角色服务 与站点中定义的用户和角色信息交互 登录控件可以向站点添加身份验证和基于授权的用户界面 如登录窗体 创建用户的窗体 密码检索 以及已登录的用户或角色的自定义用户界面 Login控件 Login控件提供用户登录网站的用户界面 Login控件使用成员资格服务在成员资格系统中对用户进行身份验证 CreateUserWizard控件 CreateUserWizard控件提供用于创建新网站用户帐户的界面根据用户输入的信息 使用成员资格提供程序 在成员资格数据存储区创建新用户帐户 LoginView控件 LoginView控件用于根据用户的身份验证状态 匿名用户或登录用户 以及登录用户所属的角色 来显示不同的网站内容模板 LoginView控件自动检测用户的身份验证状态和角色 并将该信息与要向用户显示的信息的适当模板匹配 LoginView控件由一个模板集合组成 各模板可与一个身份验证状态或者一个或多个角色组相关联 LoginStatus控件 LoginStatus控件自动检测用户的身份验证状态 Request IsAuthenticated 并显示适当的登录 注销选项 当单击 登录 按钮 将用户重定向到该网站的登录页 LoginStatus控件将从web config文件窗体身份验证节检索登录页的URL 当单击 注销 按钮 将清除用户的身份验证状态 并且执行相应的注销行为 LoginName控件 LoginName控件在页上显示当前经过身份验证的用户名 Page User Identity Name 如果用户没有登录 则该控件不在页上呈现 并且不占任何视觉空间 通过设置FormatString属性 可以更改由LoginName控件显示的文 ChangePassword控件 ChangePassword控件提供修改密码的用户界面 ChangePassword控件在Web页面中的呈现一般包括下列内容包括2个状态 视图 更改密码 视图 要求先输入当前密码 然后输入新密码 确认新密码 通过设置DisplayUserName属性为true 可显示UserName文本框 以未登录用户修改密码或修改其它用户的密码 成功 视图 显示已成功更改密码的确认信息 PasswordRecovery控件 PasswordRecovery控件提供用户恢复密码的用户界面 PasswordRecovery控件提供根据用户名检索或重置用户密码的功能 然后将用户密码通过电子邮件发送给用户 该控件不支持在用户的Web浏览器中向用户显示密码 DEMO 使用CreateUserWizard控件创建用户注册页面 操作实例10 3 使用CreateUserWizard控件创建用户注册页面开发任务 创建新用户注册页面Register aspx DEMO 使用Login控件创建登录页面 操作实例10 4 使用Login控件创建登录页面开发任务 使用Login控件创建登录页面Login aspx DEMO 使用LoginView控件检测用户身份 操作实例10 5 使用LoginView控件检测用户身份开发任务 使用LoginView控件创建用户身份检测页面LoginView aspx 使用ChangePassword控件创建密码修改页面 操作实例10 6 使用ChangePassword控件创建密码修改页面开发任务 使用ChangePassword控件创建密码修改页面ChangePassword aspx 使用PasswordRecovery控件创建密码恢复页面 操作实例10 7 使用PasswordRecovery控件创建密码恢复页面开发任务 使用PasswordRecovery控件创建密码恢复页面LoginPasswdRecovery aspx 角色管理的基本概念 角色管理主要用于授权管理 角色相当于操作系统的组 可以创建不同的角色 如administrators users guests等 然后把用户添加到相应的角色中 创建角色后 可以在应用程序中创建基于角色的访问规则 基于角色的授权管理 可以大大减少系统管理的工作量 配置网站以使用角色管理 若要使用ASP NET角色管理 需要在Web config文件中启用它 配置代码如下 创建角色和将用户分配给角色 使用成员资格方式管理角色时 可以使用下列两种方法创建新角色 1 使用网站管理工具使用网站管理工具 通过图形界面 可以直接创建和管理角色 添加用户到角色 从角色中删除用户等操作 2 使用编程方式使用Roles CreateRole方法 创建一个新角色 使用Roles AddUserToRole方法 把用户添加到角色 使用Roles RemoveUserFromRole方法 把用户从角色中删除 配置基于角色的访问规则 通过配置基于角色的访问规则 可以控制不同页面的访问授权 可以使用下列两种方法创建新访问规则 1 使用网站管理工具使用网站管理工具 通过图形界面 可以直接允许和拒绝不同角色访问页 文件夹面的访问规则 2 直接编辑Web config文件使用system web节中的authorization元素 可以配置基于角色的访问规则 以编程方式检查授权 使用编程方式 在页面或控件事件处理程序中 使用User IsInRole可以判断当前用户是否属于某种角色 从而根据不同的角色执行不同的操作 DEMO 使用网站管理工具创建角色 操作实例10 8 使用网站管理工具创建角色操作任务 使用角色管理器创建Administrators角色 并指定用户 jianghong 成为Administrators角色的成员 DEMO 使用网站管理工具创建基于角色的授权规则 操作实例10 9 使用网站管理工具创建基于角色的授权规则开发任务 使用角色管理器控制页面访问授权 如果是Administrators组成员身份登录 则跳转到管理员用户身份访问页面 否则 页面仍停留在角色管理器控制页面的登录状态
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年房产营销宣传品设计委托协议
- 科学通史课后习题参考
- 2024年期仓库租赁临时协议样本
- 2024年度物业管理与服务协议样本
- 2024年期职工宿舍建筑施工协议范本
- 文书模板-《保洁人员外出干活意外处理协议书》
- 2024年建筑工程主体验收劳务协议
- 2024年专业牛只运输服务协议模板
- 城市出行汽车租赁正规协议样式2024
- 2024住宅区保洁员劳务协议样本
- RFJ 006-2021 RFP型人防过滤吸收器制造与验收规范(暂行)
- 2024年高中语文学业水平过关测试四-名句名篇默写积累过关训练(全国通用)学生版
- 内蒙古的特色美食
- 招投标-招投标管理
- 售后工程师热水系统维护培训
- 项目管理机构及人员配备表
- 空乘大学生职业生涯规划
- 使用电器安全教育课件
- 动物的生长激素与动物发育
- 《实名认证》课件
- 语文教学之学理
评论
0/150
提交评论