authorization 元素(ASP.NET 设置架构)

配置 Web 应用程序的授权,以控制客户端对 URL 资源的访问。

configuration 元素(常规设置架构)
  system.web 元素(ASP.NET 设置架构)
    authorization 元素(ASP.NET 设置架构)

<authorization> 
   <allow .../>
   <deny .../>
</authorization>

属性和元素

下面几部分描述了属性、子元素和父元素。

属性

无。

子元素

子标记 说明

allow

向授权规则映射添加一个规则,该规则允许对资源进行访问。

deny

向授权规则映射添加一条拒绝对资源的访问的授权规则。

父元素

元素 说明

configuration

指定公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。

system.web

指定配置文件中 ASP.NET 配置设置的根元素,并且包含各种配置元素,这些配置元素配置 ASP.NET Web 应用程序并控制这些应用程序的行为方式。

备注

authorization 元素为 Web 应用程序配置授权,以控制对 URL 资源的客户端访问。

运行时,授权模块从最本地的配置文件开始,循环访问 allowdeny 元素,直到它找到适合特定用户帐户的第一个访问规则。然后,该授权模块根据找到的第一个访问规则是 allow 还是 deny 规则来允许或拒绝对 URL 资源的访问。默认的授权规则为 <allow users="*"/>。因此,默认情况下允许访问,除非另外配置。

为了便于部署,支持当前计算机的句点 (.) 快捷方式表示法。这使您能够用句点-反斜杠序列 (.\) 为每个用户或角色加上前缀,如下所示:

<allow roles=".\roleName"/>
<allow users=".\userName"/>

运行时,句点-反斜杠序列会替换为 "localmachinename\" 序列。只有当 Microsoft Windows 标识用于请求时,才会进行此替换。这是为了避免在句点-反斜杠序列用于具有自定义主体的任意规则时产生冲突。

因为 authorization 元素不表示集合,所以没有 clearremove 子元素。若要以编程方式清除授权规则映射,请使用 ClearRemove 方法。

默认配置

下面的默认 authorization 元素在 .Net Framework 2.0 版的根 Web.config 文件中配置,在 .NET Framework 1.1 和 1.0 版的 Machine.config 文件中配置。

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

示例

下面的代码示例演示如何允许所有 Admins 角色成员进行访问以及如何拒绝所有 users 角色成员进行访问。

<configuration>
   <system.web>
      <authorization>
         <allow roles="Admins"/>
         <deny users="*"/>
      </authorization>
   </system.web>
</configuration>

元素信息

配置节处理程序

AuthorizationSection

配置成员

Authorization

AuthorizationRuleCollection

可配置的位置

Machine.config

根级别的 Web.config

应用程序级别的 Web.config

虚拟或物理目录级别的 Web.config

要求

Microsoft Internet 信息服务 (IIS) 版本 5.0、5.1 或 6.0

.NET Framework 版本 1.0、1.1 或 2.0

Microsoft Visual Studio 2003 或 Visual Studio 2005

请参见

任务

如何:使用位置设置配置特定目录
如何:锁定 ASP.NET 配置设置

参考

system.web 元素(ASP.NET 设置架构)
authorization 的 allow 元素(ASP.NET 设置架构)
authorization 的 deny 元素(ASP.NET 设置架构)
configuration 元素(常规设置架构)

概念

ASP.NET 授权
ASP.NET 配置文件层次结构和继承
保证 ASP.NET 配置的安全
ASP.NET 配置方案

其他资源

使用角色管理授权
常规配置设置 (ASP.NET)
ASP.NET 配置设置
配置 ASP.NET 应用程序
ASP.NET 配置 API