浅析ASP.NET URL授权

开发 后端
本文介绍ASP.NET URL授权,当用户尝试访问某个资源时,ASP.NET URL授权机制根据ASP.NET验证过程分配给application的角色和application的身份来同意或者拒绝请求者对资源的访问。

ASP.NET 授权

可以使用授权来确定是否一个通过验证的用户已经访问了某个特定的资源。这个授权过程可以让我们限制用户的访问权限——通过赋予或者取消一个用户所能拥有的特定权限。ASP.NET提供了两种授权方式:文件授权和URL授权。

(1)ASP.NET 文件授权。当我们使用windows认证的时候,此方式自动生效,它基于IIS的认证。当用户尝试访问某个ASP.NET应用的受保护资源的时候,IIS首先对其进行验证,之后,ASP.NET检查NTFS文件权限或者ACL来确定此用户是否有权限访问资源。

(2)ASP.NET URL授权。当不使用windows认证的时候,可以使用ASP.NET URL授权。当用户尝试访问某个资源时,ASP.NET URL授权机制根据ASP.NET验证过程分配给application的角色和application的身份来同意或者拒绝请求者对资源的访问。使用ASP.NET URL授权可以做如下几件事情:
◆Deny or allow access to individual users or groups of users.
◆Deny or allow access to specific roles.
◆Restrict access based on the type of HTTP action attempted, such as Get or Post.

例子:

  1. <authorization> 
  2. <allow users="Domain\user1, Domain\user2"/> 
  3. <deny users="*"/> 
  4. </authorization> 

拒绝匿名用户访问(?代表匿名用户,*代表任何用户):

  1. <authorization> 
  2. <deny users="?"/> 
  3. </authorization> 

只有拥有Domain\Administrators角色的用户才可访问:

  1. <authorization> 
  2. <allow roles="Domain\Administrators"/> 
  3. <deny users="*"/> 
  4. </authorization> 

注意配置节中的内容是有顺序关系的,ASP.NET查找<authorization>的子项,直到找到了匹配当前用户的规则(rule)。

任何人都不能访问:

  1. <authorization> 
  2. <deny users="*"/> 
  3. <allow roles="Domain\Administrators"/> 
  4. <allow users="Domain\user1, Domain\user2"/> 
  5. </authorization> 

使用Verb属性可以限制HTTP的动作(Action):

  1. <allow VERB="POST" users="user1, user2" /> 
  2. <deny VERB="POST" users="*" /> 
  3. <allow VERB="GET" users="*" /> 

以上介绍ASP.NET URL授权

【编辑推荐】

  1. ASP.NET开发技巧之Theme功能浅析
  2. 详解ASP.NET动态编译
  3. Apache支持ASP.NET方法浅析
  4. 浅谈ASP.NET服务器标准控件
  5. ASP.NET中SQL Server数据库备份恢复浅析
责任编辑:佚名 来源: 51CTO.com
相关推荐

2009-07-20 16:23:01

ASP.NET授权模块

2009-08-05 14:46:17

ASP.NET url

2009-07-22 14:23:39

URL RewriteASP.NET

2009-07-24 13:41:15

ASP.NET AJA

2009-08-05 18:36:12

ASP.NET Che

2009-07-31 12:43:59

ASP.NET MVC

2009-08-05 15:50:13

ASP.NET优点

2009-08-10 13:32:15

ASP.NET TimASP.NET组件设计

2009-07-21 15:47:19

2009-09-24 09:26:22

ASP.NET MVC

2009-08-03 13:38:18

ASP.NET编程模型

2009-07-27 17:25:53

ASP.NET验证控件

2009-07-27 15:34:11

MembershipASP.NET

2009-08-03 10:07:20

ASP.NET Ses

2009-08-04 17:16:16

ASP.NET代码优化

2009-08-05 16:17:29

ASP.NET For

2009-08-05 16:50:09

ASP.NET For

2009-08-10 14:55:43

ASP.NET htt

2009-07-24 18:02:46

ASP.NET编程

2009-07-29 09:34:54

IsPostBack属ASP.NET
点赞
收藏

51CTO技术栈公众号