2013-02-18 152 views
0

我在我的web.config的Web.config授权落空

<location path="Admin"> 
    <system.web> 
     <authorization> 
     <allow roles="Administrator"/> 
     <deny users="?"/> 
     </authorization> 
    </system.web> 
    </location> 
    <location path="Admin/Page1"> 
    <system.web> 
     <authorization> 
     <allow roles="SubAdmin"/> 
     </authorization> 
    </system.web> 
    </location> 

这会阻止正确大家除了“管理员”和“SubAdmin”角色从管理/第1页?

或者我必须将<allow roles="Administrator"/> <deny users="?"/>添加到Admin/Page1部分?

回答

0

如果可能,请将web.configs保留在每个文件夹中,而不要保留在一个web.config中。

我不确定哪个角色更强大 - 管理员或SubAdmin。您需要在嵌套文件夹中保留最强大的角色。

内仅管理员文件夹

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
    <authorization> 
     <allow roles="Administrator"/> 
     <deny users="*"/> 
    </authorization> 
    </system.web> 
</configuration> 

内SubAdmin和管理文件夹

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
    <authorization> 
     <allow roles="Administrator, SubAdmin"/> 
     <deny users="*"/> 
    </authorization> 
    </system.web> 
</configuration> 
0

你可以用这种方式:

<allow roles="Admin"/> 
<allow roles="SubAdmin"/> 
<deny users="*"/> 

以供将来参考:http://msdn.microsoft.com/en-us/library/8d82143t%28VS.71%29.aspx

+0

我在admin文件夹中有很多页面,显然,管理员应该被允许与指定的个人页面一起访问。我试图避免有很多重复的线条。 – Shawn 2013-02-18 16:58:36