Asp.NET对授权用户和角色的控制 <authorization>
2011-07-01 14:44
926 查看
URL授权控制对资源的访问权限。它可以使一些用户和角色对资源有存取权限,也可以拒绝某些用户和角色对资源的存取。甚至它还可以决定能够存取资源的HTTP方法(例如:不允许get,允许POST等等)。
对于授权用户和角色的控制,asp.net通过配置文件config.web中的<authorization>标识段来实现。<allow>标识表示允许对资源的访问,<deny>标识表示拒绝对资源的访问。
它们都有两个属性,users和roles分别表示用户和角色。
我们来看一个实例:
<!--config.web->
…
<configuration>
<security>
<authorization>
<allow users="nobody@163.net" />
<allow roles="Admins" />
<deny users="*" />
</authorization>
</security>
</configuration>
…
它表明了这样一个事实,用户“nobody@163.net“和角色Admins有访问本站点的权力,其他用户对本站点的访问将被拒绝。也就是用户nobody@163.net和角色Admins分别是授权用户和授权角色。
同样,我们可以定义多个用户或者角色被授权或禁止,它们之间以“,“分隔。
例如:
…
<allow users=”Chen,Li,Wang” />
<deny roles=”Admins,Everyone” />
…
表示用户“Chen”、“Li”、”Wang”是授权用户,但是角色为“Admins”或者是”Everyone”的被排除在外。
它的效果和分开写是一样的,如上例也可以写为:
…
<allow users=”Chen” />
<allow users=”Li” />
<allow users=”Wang” />
<deny roles=”Admins” />
<deny roles=”Everyone” />
…
此外,还可以决定用户的某种HTTP方法是否可以被允许,方法是使用verb属性来表明对那种HTTP方法操作。
例如:
…
<allow verb=post users=”Chen,Li” />
<deny verb=get roles=”everyone” />
…
表示允许用户“Chen”,”Li“采用post方法访问资源,而拒绝角色everyone的get方式对资源的访问。
符号“*“和”?“在<allow>和<deny>标识中有特殊的含义。”*“表示任何用户,”?“表示匿名用户。
例如:
…
<authorization>
<allow users=”*” />
<deny users=”?” />
</authorization>
表示除了匿名用户以外的所有用户都被允许访问本站点。
对于授权用户和角色的控制,asp.net通过配置文件config.web中的<authorization>标识段来实现。<allow>标识表示允许对资源的访问,<deny>标识表示拒绝对资源的访问。
它们都有两个属性,users和roles分别表示用户和角色。
我们来看一个实例:
<!--config.web->
…
<configuration>
<security>
<authorization>
<allow users="nobody@163.net" />
<allow roles="Admins" />
<deny users="*" />
</authorization>
</security>
</configuration>
…
它表明了这样一个事实,用户“nobody@163.net“和角色Admins有访问本站点的权力,其他用户对本站点的访问将被拒绝。也就是用户nobody@163.net和角色Admins分别是授权用户和授权角色。
同样,我们可以定义多个用户或者角色被授权或禁止,它们之间以“,“分隔。
例如:
…
<allow users=”Chen,Li,Wang” />
<deny roles=”Admins,Everyone” />
…
表示用户“Chen”、“Li”、”Wang”是授权用户,但是角色为“Admins”或者是”Everyone”的被排除在外。
它的效果和分开写是一样的,如上例也可以写为:
…
<allow users=”Chen” />
<allow users=”Li” />
<allow users=”Wang” />
<deny roles=”Admins” />
<deny roles=”Everyone” />
…
此外,还可以决定用户的某种HTTP方法是否可以被允许,方法是使用verb属性来表明对那种HTTP方法操作。
例如:
…
<allow verb=post users=”Chen,Li” />
<deny verb=get roles=”everyone” />
…
表示允许用户“Chen”,”Li“采用post方法访问资源,而拒绝角色everyone的get方式对资源的访问。
符号“*“和”?“在<allow>和<deny>标识中有特殊的含义。”*“表示任何用户,”?“表示匿名用户。
例如:
…
<authorization>
<allow users=”*” />
<deny users=”?” />
</authorization>
表示除了匿名用户以外的所有用户都被允许访问本站点。
相关文章推荐
- asp.net允许用户输入时,关闭请求检测,RequestValidate="false",且替换"<",">"
- ASP.NET面向角色授权之:自定义Forms用户验证与授权
- ASP.NET MVC - The view must derive from WebViewPage, or WebViewPage<TModel>
- Asp.net中基于Forms验证的角色验证授权
- 精进不休 .NET 4.0 (2) - asp.net 4.0 新特性之url路由, 自定义CacheProvider, 新增的表达式<%: expression %>, QueryExtender控件, 其它新特性
- <ASP.NET>给服务器控件赋值
- Asp.Net前台页面中有几种标记: < %= %>< %# %>< % %>< %@ %>
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- 【转】ASP.NET MVC 3: Razor’s @: and <text> syntax
- Asp.Net 之 <%%>相关内联代码块用法
- Asp .Net Core 2.0 登录授权以及多用户登录
- IIS5、IIS6、IIS7的ASP.net 请求处理过程比较<转>
- <转>ASP.NET MVC HtmlHelper用法大全
- Asp.net MVC Checkbox控件 和 Nullable<bool>, 或bool?类型
- asp.net <asp:Content>控件
- Asp.net中基于Forms验证的角色验证授权
- [转]Asp.net中基于Forms验证的角色验证授权
- ASP.NET中App_Code,App_Data等文件夹的作用<转>
- 七天学会ASP.NET MVC (四)——用户授权认证问题 【转】