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 ...
随机推荐
- CentOS 7 安装RabbitMQ 3.3
1.安装erlang 语言环境 安装依赖文件 #yum install ncurses-devel 进入 http://www.erlang.org/download.html 选择源文件下载 wge ...
- 辛巴学院-Unity-剑英的c#提高篇(一)主循环
这是测试版 辛巴学院:正大光明的不务正业. 最近刚刚离开了我服务了三年多的公司,因为一个无数次碰到的老问题,没钱了. 之前不知道做什么好的时候,机缘巧合之下和哒嗒网络的吴总聊了一下,发现了vr gam ...
- CSharpGL(1)从最简单的例子开始使用CSharpGL
CSharpGL(1)从最简单的例子开始使用CSharpGL 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo ...
- TODO:小程序的用户身份
TODO:小程序的用户身份 小程序的用户身份有三种,一个管理员,二十个开发者,四十个体验者 1.管理员,可设置风险操作保护.风险操作提醒等操作. a)修改管理员,需要用到原管理员,新管理员的身份证号码 ...
- [翻译] AKKA笔记- ACTORSYSTEM (配置CONFIGURATION 与调度SCHEDULING) - 4(一)
原文在http://rerun.me/2014/10/06/akka-notes-actorsystem-in-progress/ 像我们前面看到的,我们可以用ActorSystem的actorof方 ...
- mock.js
mock.js http://mockjs.com/ https://github.com/nuysoft/Mock/wiki 为了完成angularjs的karma测试,看到这个好东东,这货能拦截a ...
- MySQL数据库的安装与密码配置
MySQL是由MySQL AB公司开发,后由Oracle公司收购 MySQL是一个关系型数据库管理系统 分为社区版和企业版 ...
- LINQ系列:LINQ to DataSet的DataView操作
1. 创建DataView EnumerableRowCollection<DataRow> expr = from p in products.AsEnumerable() orderb ...
- Java 8新特性-5 内建函数式接口
在之前的一片博文 Lambda 表达式,提到过Java 8提供的函数式接口.在此文中,将介绍一下Java 8四个最基本的函数式接口 对于方法的引用,严格来讲都需要定义一个接口.不管我们如何操作实际上有 ...
- Web前端框架与类库的思考
说起前端框架,我也是醉了.现在去面试或者和同行聊天,动不动就这个框架碉堡了,那个框架好犀利. 当然不是贬低框架,只是有一种杀鸡焉用牛刀的感觉.网站技术是为业务而存在的,除此毫无意义,框架也是一样.在技 ...