欢迎来到天天文库
浏览记录
ID:50037440
大小:280.00 KB
页数:32页
时间:2020-03-08
《ASP.NET网络程序设计教程 教学课件 作者 张恒 廖志芳 刘艳丽 第11章 ASP.NET应用程序安全技术.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第11章ASP.NET应用程序安全技术本章主要内容ASP.NET安全结构基于Windows的身份验证ASP.NET2.0的成员资格和角色资格管理器ASP.NET网站管理工具ASP.NET安全服务器控件成员资格和角色特性11.1ASP.NET安全结构相关术语(1)身份验证:许多Web应用程序的一个重要部分是能够识别用户和控制对资源的访问。确定请求实体的标识的行为称为身份验证。通常,用户必须提供凭据(如名称/密码对)才能进行身份验证。(2)授权:一旦经过身份验证的标识可用,就必须确定该标识是否可以访问给定的资源,此过程称为授权。ASP.NET与IIS一起使用为应用程序提供身份验证和授权服务;(3)
2、模拟:在默认情况下,ASP.NET使用本地系统账号的权限执行而不是请求的用户,使用模拟后,ASP.NET应用程序可以用发出请求的用户的Windows标识用户账户执行;(4)基于角色安全性:对于一个庞大的用户系统,不可能为每一个用户都单独授权,如果把用户划分成不同的角色,然后对角色进行授权,那么这个工作会简单很多。11.2基于Windows的身份验证11.2.1IIS和ASP.NET中的安全和访问控制IIS5.X支持以下几种身份验证方式(需要禁止匿名访问)。(1)基本身份验证。与所有的浏览器和防火墙兼容,但是用户名和密码在网络上是以明文发送的。(2)集成Windows身份验证。不与所有的防火墙和
3、代理服务器兼容,与IE浏览器兼容。用户名和密码不以明文发送。(3)摘要式身份验证。与所有的防火墙和代理服务器兼容,与IE浏览器兼容。用户名和密码不以明文进行发送,但是会保存在域服务器的明文文件中。11.2.2配置Windows身份验证与授权在启用Windows身份验证之后可以通过配置Web.config文件来向特定的用户和组授予特定目录或文件的权限。配置如下文件对匿名用户的访问进行拒绝。4、tion>Users代表一个或者多个用户(多个用户之间使用逗号隔开)。使用问号“?”来表示所有未经过身份验证的用户(匿名用户),使用星号“*”来表示所有用户。节点表示拒绝,还可以使用节点来表示允许,具体配置如下:5、n>11.3ASP.NET2.0的成员资格和角色资格管理器ASP.NET2.0成员资格负责用户的管理,角色管理器负责角色的管理,登录控件负责面向用户的成员服务(注册、登录、修改和取回密码),ASP.NET表单验证负责用户凭据的管理,ASP.NET网站管理工具负责面向管理员的安全配置,ASP.NET基于URL的授权负责用户角色对于目录的授权管理,一套完整的用户、角色和权限管理系统就这样建立起来了。11.3.1ASP.NET2.0成员资格概述ASP.NET成员资格支持下列功能:(1)创建新用户和密码;(2)将成员资格信息(用户名、密码和支持数据)存储在MicrosoftSQLServer、Acti6、veDirectory或其他数据存储区;(3)对访问站点的用户进行身份验证。(4)可以以编程方式验证用户,也可以使用ASP.NET登录控件创建一个只需很少代码或无需代码的完整身份验证系统;(5)管理密码,包括修改和找回密码;(6)公开经过身份验证的用户的唯一标识,可以在自己的应用程序中使用该标识,也可以将该标识与ASP.NET个性化设置和角色管理(授权)系统集成;(7)指定自定义成员资格提供程序,这可以改为用自己的代码管理成员资格以及在自定义数据存储区中维护成员资格数据。11.3.2ASP.NET2.0成员资格的配置要使用成员资格,首先需要使用membership元素的defaultProvi7、der属性来指定默认的成员资格提供程序。如果没有显式指定默认的提供程序,计算机配置将指定一个名为AspNetSqlMembershipProvider的SqlMembershipProvider实例(它被标识为默认的提供程序)。AspNetSqlMembershipProvider连接到本地SQLServer中的aspnetdb数据库。但是如果用户不希望成员资格使用默认的Express数据库,或者
4、tion>
5、n>11.3ASP.NET2.0的成员资格和角色资格管理器ASP.NET2.0成员资格负责用户的管理,角色管理器负责角色的管理,登录控件负责面向用户的成员服务(注册、登录、修改和取回密码),ASP.NET表单验证负责用户凭据的管理,ASP.NET网站管理工具负责面向管理员的安全配置,ASP.NET基于URL的授权负责用户角色对于目录的授权管理,一套完整的用户、角色和权限管理系统就这样建立起来了。11.3.1ASP.NET2.0成员资格概述ASP.NET成员资格支持下列功能:(1)创建新用户和密码;(2)将成员资格信息(用户名、密码和支持数据)存储在MicrosoftSQLServer、Acti
6、veDirectory或其他数据存储区;(3)对访问站点的用户进行身份验证。(4)可以以编程方式验证用户,也可以使用ASP.NET登录控件创建一个只需很少代码或无需代码的完整身份验证系统;(5)管理密码,包括修改和找回密码;(6)公开经过身份验证的用户的唯一标识,可以在自己的应用程序中使用该标识,也可以将该标识与ASP.NET个性化设置和角色管理(授权)系统集成;(7)指定自定义成员资格提供程序,这可以改为用自己的代码管理成员资格以及在自定义数据存储区中维护成员资格数据。11.3.2ASP.NET2.0成员资格的配置要使用成员资格,首先需要使用membership元素的defaultProvi
7、der属性来指定默认的成员资格提供程序。如果没有显式指定默认的提供程序,计算机配置将指定一个名为AspNetSqlMembershipProvider的SqlMembershipProvider实例(它被标识为默认的提供程序)。AspNetSqlMembershipProvider连接到本地SQLServer中的aspnetdb数据库。但是如果用户不希望成员资格使用默认的Express数据库,或者
此文档下载收益归作者所有