authorization与URL受权

利用Web.config中的authorization标签设置受权属于URL受权。  web

使用 URL 受权url

经过 URL 受权,您能够显式容许或拒绝某个用户名或角色对特定目录的访问权限。为此,请在该目录的配置文件中建立一个 authorization 节。若要启用 URL 受权,请在配置文件的 authorization 节中的 allow 或 deny 元素中指定一个用户或角色列表。为目录创建的权限也会应用到其子目录,除非子目录中的配置文件重写这些权限。 spa

下面显示了 authorization 节的语法: code

<authorization>
<[allow|deny] users roles verbs />
</authorization>

allow 或 deny 元素是必需的。必须指定 users 或 roles 属性。能够同时包含两者,但这不是必需的。verbs 属性可选。一旦设置了allow或deny,必须带上user或roles 两者其中之一。不然运行的时候就会出错。orm

属性对象

说明blog

users继承

标识此元素的目标身份(用户账户)。 进程

用问号 (?) 标识匿名用户。能够用星号 (*) 指定全部通过身份验证的用户。ip

roles

为被容许或被拒绝访问资源的当前请求标识一个角色(RolePrincipal 对象)。有关更多信息,请参见使用角色管理受权

verbs

定义操做所要应用到的 HTTP 谓词,如 GET、HEAD 和 POST。默认值为"*",它指定了全部谓词。

   

上面若设置了user,若使用Forms认证,一单设置FormsAuthentication.SetAuthCookie生成Principal起,则开始进行受权;Windows认证估计从登陆时起。roles的须要结合另一个标签来试验,若启用了roleManager并经过Roles给当前的User设置角色,则可进行受权验证。

allow和deny标签能够有多个,可使用逗号分隔的列表为 users 和 roles 属性指定多个实体。请注意,若是指定一个域账户名,该名称必须包含域名和用户名 (contoso\Jane)。

规则应用以下:

  • 应用程序级别的配置文件中包含的规则优先级高于继承的规则。系统经过构造一个 URL 的全部规则的合并列表,其中最近(层次结构中距离最近)的规则位于列表头,来肯定哪条规则优先。
  • 给定应用程序的一组合并的规则,ASP.NET 从列表头开始,检查规则直至找到第一个匹配项为止。ASP.NET 的默认配置包含向全部用户受权的 <allow users="*"> 元素。(默认状况下,最后应用该规则。)若是其余受权规则都不匹配,则容许该请求。若是找到匹配项而且它是deny 元素,则向该请求返回 401 HTTP 状态代码。若是 allow 元素匹配,则模块容许进一步处理该请求。

还能够在配置文件中建立一个 location 元素以指定特定文件或目录,location 元素中的设置将应用于这个文件或目录。

   

受权决定了是否应授予某个标识对特定资源的访问权限。在 ASP.NET 中,有两种方式来授予对给定资源的访问权限:

  • 文件受权   文件受权由 FileAuthorizationModule 执行。它检查 .aspx 或 .asmx 处理程序文件的访问控制列表 (ACL) 以肯定用户是否应该具备对文件的访问权限。ACL 权限用于验证用户的 Windows 标识(若是已启用 Windows 身份验证)或 ASP.NET 进程的 Windows 标识。有关更多信息,请参见 ASP.NET 模拟
  • URL 受权   URL 受权由 UrlAuthorizationModule 执行,它将用户和角色映射到 ASP.NET 应用程序中的 URL。这个模块可用于有选择地容许或拒绝特定用户或角色对应用程序的任意部分(一般为目录)的访问权限。

   

来自 <https://msdn.microsoft.com/zh-cn/library/wce3kxhd(v=vs.100).aspx>

相关文章
相关标签/搜索