2012-04-28 31 views
1

我想允许匿名用户浏览只有几个文件,如default.aspx,aboutus.aspx,contactus.aspx等有没有办法写所有这些文件名在一个地方,或者我将不得不重复下面的代码一遍又一遍的所有文件?是否有可能允许匿名用户浏览文件夹中的仅几个文件

<location path="Default.aspx"> 
<system.web> 
    <authorization> 
    <allow users="*" /> 
    </authorization> 
</system.web> 

回答

2

无法在单个位置元素中指定多个路径。我想你要问的是这样的:

<location path="Default.aspx,aboutus.aspx,contactus,aspx"> 
    <system.web> 
     <authorization> 
      <allow users="*" /> 
     </authorization> 
    </system.web> 
</location> 

不幸的是,我不相信这是可能的。

你有几个选择如何做到这一点。

A)指定位置元素多次,一个是要允许匿名访问的每个文件:

<location path="Default.aspx"> 
    <system.web> 
     <authorization> 
      <allow users="*" /> 
     </authorization> 
    </system.web> 
</location> 
<location path="aboutus.aspx"> 
    <system.web> 
     <authorization> 
      <allow users="*" /> 
     </authorization> 
    </system.web> 
</location> 
<location path="contactus,aspx"> 
    <system.web> 
     <authorization> 
      <allow users="*" /> 
     </authorization> 
    </system.web> 
</location> 

B)把所有要允许在一个单独的匿名访问的文件目录,就像上面提到的Admirer一样。 C)你可能想使用文件授权而不是URL授权。通过文件授权,您可以将Windows ACL权限直接分配给文件。可以将要保护的文件分配给一个Windows帐户,以及希望允许匿名访问另一个ACL帐户的文件。然后,您的任务是使用ASP.Net模拟将匿名访问请求中的请求映射到只能访问未受保护文件的windows帐户的安全上下文中,并将请求从经过身份验证的请求映射到Windows帐户有权访问所有文件。

我不确定你想要走这条路,因为只需要多次复制“location”元素,一次为每个要公开给匿名访问的资源,可能会简单得多。但如果你想看看这个,有一些好的资源herehere

+0

感谢您的回复。这真的很有帮助。 – techblog 2012-04-29 03:58:55

相关问题