摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Asp.net>ASP.net入门教程
◎→ 本类最新
ASP.NET控件
安装ASP.net
ASP.NET简介
web控件-图像显示
ASP.NET的Web控件
输入验证控件(3)
输入验证控件(2)
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Asp.net入门视频教程下载
ASP.net入门教程
Asp.net速成视频教程
◎→ 热门资源
职业化高效Office办公应用能力
关于OFFICE 2007转PDF
office2007提示试用期已到和Key
身份验证和ASP.NET模拟
ASP.NET模拟
用IIS创建ASP.NET应用程序根目录
部署ASP.NET应用程序

ASP.NET授权


日期:2008-10-21 0:10:31    来源:
   
 ·身份验证和ASP.NET模拟 ·IIS之URL授权

授权的目的是确定是否为标识授予对给定资源访问的请求类型有两种对给定资源进行授权访问的基本方法:

  • 文件授权

    文件授权由 FileAuthorizationModule 执行,且当使用 Windows 身份验证时,文件授权处于活动状态。它对 .aspx 或 .asmx 处理程序文件进行访问控制列表 (ACL) 的检查,以确定用户是否应具有访问权。应用程序可以进一步使用模拟方法对所访问的资源进行资源检查。有关模拟的详细信息,请参阅 ASP.NET 模拟

  • URL 授权

    URL 授权由 URLAuthorizationModule 类执行,该类会将用户和角色映射到 URL 名称空间的各个部分中。该模块可以实现肯定和否定的授权断言。也就是说,可以使用该模块选择性地允许或拒绝特定的集合、用户以及角色对 URL 名称空间中任意部分的访问。

URLAuthorizationModule 在任何时候都是可用的。仅需将用户和/或角色列表放在某个配置文件的 <authorization> 部分中的 <allow><deny> 元素中。

要建立访问某一特定目录的条件,必须将含有 <authorization> 部分的配置文件放进该目录中。为该目录所设置的条件也适用于其子目录,除非子目录中的配置文件覆盖了这些条件。该部分中的一般语法如下:

<[element] [users] [roles] [verbs]/>

element 是必需的。必须包含 usersroles 属性。也可同时包含两个,但包含两个并不是必需的。verbs 属性是可选的。

允许的元素是 <allow><deny>,分别用于授予和撤销访问权限。每个元素都支持三种属性,其定义如下表所示。

属性 描述
roles 为该元素识别目标角色。该请求的相关 IPrincipal 对象确定角色的成员身份。可以将任意 IPrincipal 对象附加到给定请求的上下文中,然后这些对象可以用您选择的任何方法来确定角色成员身份。例如,默认的 WindowsPrincipal 类使用 Microsoft Windows NT 组来确定角色成员身份。
users 为该元素识别目标标识。
verbs 定义操作所应用的 HTTP 动作,例如,GETHEADPOST

也拒绝匿名用户。

下例将访问权限授予 Kim 和 Admins 角色的成员,同时拒绝 John 和所有匿名用户的访问:

<authorization>
    <allow users="Kim"/>
    <allow roles="Admins"/>
    <deny users="John"/>
    <deny users="?"/>
</authorization>

用户和角色都可以使用由逗号分隔的列表引用多个实体,如下例所示。

<allow users="John, Kim, contoso\Jane"/>

请注意域账号 (contoso\Jane) 必需包含域名和用户名的组合。

除了标识名称外,还有两种特殊标识,如下表所示。

标识 描述
* 引用所有标识
? 引用匿名标识

要允许 John 而拒绝任何其他用户的访问,可能要构建如下的配置部分。

<authorization>
    <allow users="John"/>
    <deny users="*"/>
</authorization>

下例使每个人都可以执行 GET 动作,但只有 Kim 才能使用 POST

<authorization>
    <allow verb="GET" users="*"/>
    <allow verb="POST" users="Kim"/>
    <deny verb="POST" users="*"/> 
</authorization>

使用下面的启发式方法来应用规则:

  • 位于较低目录级别中的配置文件所包含的规则优先于位于较高目录级别中的规则。系统通过构建 URL 的所有规则合并列表,结合离列表起始处最近的规则(在分级结构中最靠近的)来确定优先的规则。
  • 如果给定了针对 URL 的一组合并规则,系统将从列表起始处开始检查规则,直到发现第一个匹配为止。请注意 ASP.NET 的默认配置包含授权所有用户的 <allow users="*"> 元素。如果没有发现匹配的规则,就会允许该请求(除非该请求因其他情况而遭拒绝)。如果发现了匹配且该匹配是 <deny> 元素,它就会返回 401 状态代码。应用程序或站点在其顶层能很容易地配置 <deny users="*"> 元素来禁止该行为。

    如果 <allow> 匹配,模块将不做任何处理,而是让该请求继续进行。

还可以使用 <location> 标记来指定某个特定文件或目录,该标记(在 <location></location> 标记之间)包括的设置要应用于该特定文件或目录。

 [1]

ASP.NET模拟

--->江民杀毒软件KV2007┊抵御病毒入侵、保护系统安全┊免序列号免授权安装标准版
--->Professional Renamer V1.19 授权汉化版
--->Alt WAV MP3 WMA OGG Converter V4.3 授权简繁中文语言文件
--->Easy CD-DA Extractor V9.0.2 build 2 授权简体中文语言文件
--->Aurora Media Workshop (极光多媒体梦工场) V3.3.8.0 授权汉化版
Tags:  ASP.NET 授权

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们