不同页面的不同授权?

时间:2011-05-25 19:23:53

标签: c# asp.net web-config

我的问题很天真,我为此道歉。我的限制访问文件夹的Web配置文件如下:

    <?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <authorization>
            <allow roles="Member" />
            <allow roles="Admin" />
            <deny users="?" />
        </authorization>
    </system.web>
</configuration>

现在这适用于文件夹中的所有页面,有没有办法可以修改它,这样任何具有角色成员的用户都可以访问说只有members.aspx,而Admin可以访问一大堆页面

我想我可以通过创建不同的文件夹并在其中存储不同的页面并根据需要分配webconfig来实现,但我想知道是否可以在单个文件夹中进行页面级别授权(基于角色)

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用location元素指定对网站中不同特定网址的访问权限。请注意,您可以从父web.config配置所有位置;为此没有多个web.config文件。

    
  <location path="members.aspx">
    <system.web>
      <authorization>
        <allow roles="Member" />
        <allow roles="Admin" />
        <deny users="?" />
      </authorization>
    </system.web>
  </location>
  <location path="adminsonly.aspx">
    <system.web>
      <authorization>
        <allow roles="Admin" />
        <deny users="?" />
      </authorization>
    </system.web>
  </location>