ASP.NET Membership Roles Web.config设置

bev*_*qua 2 asp.net web-config

我想了解web.config上的system.web授权标记是如何工作的,以及每个属性和属性的确切作用.

例如,做什么

  <system.web>
    <authorization>
      <deny users="?"/>
      <allow users="*"/>
    </authorization>
  </system.web>
Run Code Online (Sandbox Code Playgroud)

具体来说,我想要做的是禁止未经身份验证的用户访问大部分网站,允许访问属于某个角色的经过身份验证的用户访问部分网站,并允许从第二个角色完全访问用户.

Ada*_*gan 6

<system.web>
    <authorization>
      <deny users="?"/>
      <allow users="*"/>
    </authorization>
</system.web>`
Run Code Online (Sandbox Code Playgroud)

这将允许访问登录的任何人.

<deny users="?"/>拒绝访问任何匿名用户 - 未登录的用户,然后<allow users="*"/>将允许访问所有其他用户,在这种情况下,所有其他用户都是经过身份验证的用户.

如果这是在您的主web.config文件中,这将适用于整个网站.如果您想拥有不同级别的访问权限,可以使用<location>标记:

<location path="~/Admin">
 <system.web>
   <authorization>
     <allow roles="Admin"/>
     <deny users="*"/>
   </authorization>
 </system.web>
Run Code Online (Sandbox Code Playgroud)

这将限制对"Admin"角色中用户的admin文件夹中的任何文件/文件夹的访问.