zoukankan      html  css  js  c++  java
  • Asp.NET对授权用户和角色的控制 <authorization>

    URL授权控制对资源的访问权限。它可以使一些用户和角色对资源有存取权限,也可以拒绝某些用户和角色对资源的存取。甚至它还可以决定能够存取资源的HTTP方法(例如:不允许get,允许POST等等)。

           对于授权用户和角色的控制,asp.net通过配置文件config.web中的<authorization>标识段来实现。<allow>标识表示允许对资源的访问,<deny>标识表示拒绝对资源的访问。

           它们都有两个属性,usersroles分别表示用户和角色。

           我们来看一个实例:

           <!--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方法访问资源,而拒绝角色everyoneget方式对资源的访问。

     

    符号“*“和”?“在<allow><deny>标识中有特殊的含义。”*“表示任何用户,”?“表示匿名用户。

    例如:

           …

           <authorization>

                  <allow users=”*” />

                  <deny users=”?” />

           </authorization>

    表示除了匿名用户以外的所有用户都被允许访问本站点。

  • 相关阅读:
    vue 生产包 背景图片-background图片不显示
    数组的方法
    前端常用Utils工具函数库合集
    vue路由
    问题
    Promise与async/await -- 处理异步
    vue中axios使用
    移动端-调试工具
    微信公众平台开发(8) 自定义菜单功能开发
    微信公众平台开发(6) 翻译功能开发
  • 原文地址:https://www.cnblogs.com/superfeeling/p/2095504.html
Copyright © 2011-2022 走看看