更新:2007 年 11 月
配置 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 资源的客户端访问。
运行时,授权模块从最本地的配置文件开始,循环访问 allow 和 deny 元素,直到它找到适合特定用户帐户的第一个访问规则。然后,该授权模块根据找到的第一个访问规则是 allow 还是 deny 规则来允许或拒绝对 URL 资源的访问。默认的授权规则为 <allow users="*"/>。因此,默认情况下允许访问,除非另外配置。
为了便于部署,支持表示当前计算机的句点 (.) 简便表示法。这使您能够用句点-反斜杠序列 (.\) 为每个用户或角色加上前缀,如下所示:
<allow roles=".\roleName"/>
<allow users=".\userName"/>
运行时,句点-反斜杠序列会替换为 "本地计算机名\" 序列。只有当 Microsoft Windows 标识用于请求时,才会进行此替换。这是为了避免在句点-反斜杠序列用于具有自定义主体的任意规则时产生冲突。
因为 authorization 元素不表示集合,所以没有 clear 或 remove 子元素。若要以编程方式清除授权规则映射,请使用 Clear()()() 或 Remove(AuthorizationRule) 方法。
默认配置
下面的默认 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>
任务
概念
参考
其他资源