authorization与URL授权
利用Web.config中的authorization标签设置授权属于URL授权。
通过 URL 授权,您可以显式允许或拒绝某个用户名或角色对特定目录的访问权限。为此,请在该目录的配置文件中创建一个 authorization 节。若要启用 URL 授权,请在配置文件的 authorization 节中的 allow 或 deny 元素中指定一个用户或角色列表。为目录建立的权限也会应用到其子目录,除非子目录中的配置文件重写这些权限。
下面显示了 authorization 节的语法:
<authorization>
<[allow|deny] users roles verbs />
</authorization>
allow 或 deny 元素是必需的。必须指定 users 或 roles 属性。可以同时包含二者,但这不是必需的。verbs 属性可选。一旦设置了allow或deny,必须带上user或roles 二者其中之一。否则运行的时候就会出错。
|
属性 |
说明 |
|
users |
标识此元素的目标身份(用户帐户)。 用问号 (?) 标识匿名用户。可以用星号 (*) 指定所有经过身份验证的用户。 |
|
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>
authorization与URL授权的更多相关文章
- authentication vs authorization 验证与授权的区别
认证和授权的区别 Authentication vs. Authorization简单来说,认证(Authentication )是用来回答以下问题: 用户是谁 当前用户是否真的是他所代表的角色 通常 ...
- Spring Authorization Server 实现授权中心
Spring Authorization Server 实现授权中心 源码地址 当前,Spring Security 对 OAuth 2.0 框架提供了全面的支持.Spring Authorizati ...
- Spring Authorization Server 全新授权服务器整合使用
前言 Spring Authorization Server 是 Spring 团队最新开发适配 OAuth 协议的授权服务器项目,旨在替代原有的 Spring Security OAuth 经过半年 ...
- 解决 Page 'http://localhost:63342/v3/js/math/math.map' requested without authorization页面未授权问题
用webstorm调试页面时,老是弹出对话框说页面未授权,如下图: 解决方法尝试了两种都有效,感觉第一种是正解通用,第二种大家也可以了解一下作为参考 第一种: File--Settings如下图 第二 ...
- github 授权登录教程与如何设计第三方授权登录的用户表
需求:在网站上想评论一篇文章,而评论文章是要用户注册与登录的,那么怎么免去这麻烦的步骤呢?答案是通过第三方授权登录.本文讲解的就是 github 授权登录的教程. 效果体验地址:http://biao ...
- [转]OAuth 2.0 - Authorization Code授权方式详解
本文转自:http://www.cnblogs.com/highend/archive/2012/07/06/oautn2_authorization_code.html I:OAuth 2.0 开发 ...
- Security » Authorization » 基于视图的授权
View Based Authorization¶ 基于视图的授权 44 of 46 people found this helpful Often a developer will want to ...
- OAuth 2.0 - Authorization Code授权方式详解
I:OAuth 2.0 开发前期准备 天上不会自然掉馅饼让你轻松地去访问到人家资源服务器里面的用户数据资源,所以你需要做的前期开发准备工作就是把AppKey, AppSecret取到手 新浪获取传送门 ...
- Security » Authorization » 基于自定义策略的授权
Custom Policy-Based Authorization¶ 基于自定义策略的授权 98 of 108 people found this helpful Underneath the cov ...
随机推荐
- 微软借力.NET开源跨平台支持,布局物联网平台开发
今天科技类最大的新闻,莫过于微软宣布.NET开发框架开源计划..NET 开源,集成 Clang 和 LLVM 并且自带 Android 模拟器,这意味着 Visual Studio 这个当下最好没有之 ...
- php杂记(一)
1.require_once & require include() 函数会将指定的档案读入并且执行里面的程序 include_once() 与include相同,但只允许一次: requir ...
- Python黑帽编程2.3 字符串、列表、元组、字典和集合
Python黑帽编程2.3 字符串.列表.元组.字典和集合 本节要介绍的是Python里面常用的几种数据结构.通常情况下,声明一个变量只保存一个值是远远不够的,我们需要将一组或多组数据进行存储.查询 ...
- 剑指Offer面试题:32.数字在排序数组中出现的次数
一.题目:数字在排序数组中出现的次数 题目:统计一个数字在排序数组中出现的次数.例如输入排序数组{1,2,3,3,3,3,4,5}和数字3,由于3在这个数组中出现了4次,因此输出4. 二.解题思路 2 ...
- [.net 面向对象程序设计进阶] (28) 结束语——告别2015
[.net 面向对象程序设计进阶] (28) 结束语——告别2015 <.net面向对象程序设计进阶>这一系列文章写了太长的时间了,大概有半年没写,在年底又一口气写了好几篇.在整个过程中目 ...
- SQL Server 复制订阅
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/高性能解决方案/高可用 概述 配置复制就没有数据库镜像和AlwaysOn的要求那么高,只需要两台服务器能通过TCP进行通讯即可,两 ...
- 【效率】专为Win7系统设计的极简番茄计时器 - MiniPomodoro (附源码)
时光飞逝,一转眼坚持使用番茄工作法已经快3年了!能坚持这么长时间,主要还是得益于它的简单.但是令人纠结的是,这么长时间以来,换了7款不同的番茄计时器,仍然没有找到非常满意的: ■ 机械的噪音太大,会妨 ...
- TODO:小程序集成WeUI
TODO:小程序集成WeUI WeUI 为微信 Web 服务量身设计.WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一. ...
- EMC学习之电磁辐射
我们在接触新鲜事物的时候,通常习惯用自己熟悉的知识去解释自己不熟悉的事物.EMC知识更多的涉及到微波和射频,对于像我这种专注于信号完整性而 对EMC知识知之甚少的菜鸟来说,最初也只能用SI的一些基础知 ...
- Oozie分布式任务的工作流——Sqoop篇
Sqoop的使用应该是Oozie里面最常用的了,因为很多BI数据分析都是基于业务数据库来做的,因此需要把mysql或者oracle的数据导入到hdfs中再利用mapreduce或者spark进行ETL ...