配置 ASP.NET 授权支持。<authorization> 标记用于控制客户端对 URL 资源的访问。该元素可在任何级别(计算机、站点、应用程序、子目录或页面)进行声明。
<configuration>
<system.web>
<authorization>
<authorization>
<allow users="comma-separated list of users"
roles="comma-separated list of roles"
verbs="comma-separated list of verbs"/>
<deny users="comma-separated list of users"
roles="comma-separated list of roles"
verbs="comma-separated list of verbs"/>
</authorization>
子标记 | 描述 |
---|---|
<allow> | 允许基于下列方式对资源进行访问:
users:允许以逗号分隔的用户名列表对资源进行访问。问号 (?) 允许匿名用户;星号 (*) 允许所有用户。 roles:允许以逗号分隔的角色列表对资源进行访问。 verbs:允许以逗号分隔的 HTTP 传输方法列表对资源进行访问。注册到 ASP.NET 中的动作包括 GET、HEAD、POST 和 DEBUG。 |
<deny> | 禁止基于下列方式对资源进行访问:
users:禁止以逗号分隔的用户名列表对资源进行访问。问号 (?) 表示禁止匿名用户访问;星号 (*) 表示禁止所有用户访问。 roles:禁止以逗号分隔的角色列表访问资源。 verbs:不允许以逗号分隔的 HTTP 传输方法列表对资源进行访问。注册到 ASP.NET 的动作包括 GET、HEAD、POST 和 DEBUG。 |
在运行时,授权模块通过 <allow> 和 <deny> 标记进行反复操作,直到找到第一个访问规则适合特定的用户为止。然后它根据找到的第一个访问规则是 <allow> 还是 <deny> 规则来允许或拒绝访问 URL 资源。Machine.config 文件中默认的授权规则是 <allow users="*"/>,因此,除非另行配置,否则在默认情况下是允许访问的。
下例对 Admins
角色的所有成员允许访问并对所有用户拒绝访问。
<configuration>
<system.web>
<authorization>
<allow roles="Admins"/>
<deny users="*"/>
</authorization>
</system.web>
</configuration>