我想允许匿名用户只能浏览一些文件,如Default.aspx的,aboutus.aspx,contactus.aspx等是否有写所有这些文件的名称在一个地方的方式,否则我将不得不一次又一次地重复下面的代码对于所有的文件吗?
<location path="Default.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
我想允许匿名用户只能浏览一些文件,如Default.aspx的,aboutus.aspx,contactus.aspx等是否有写所有这些文件的名称在一个地方的方式,否则我将不得不一次又一次地重复下面的代码对于所有的文件吗?
<location path="Default.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
这是不可能在单个位置元素指定的多个路径。 我想你问做的是这样的:
<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)把所有要允许在一个单独的目录匿名访问的文件,如崇拜者如上所述。
C)你可以使用婉授权的文件,而不是URL授权的探索。 随着文件授权,您可以直接分配的Windows ACL权限的文件。 这可能是可以分配你想保护的一个Windows帐户要允许其他ACL帐户的匿名访问文件和文件。 然后,您的任务是使用ASP.Net模拟映射来自匿名访问请求,请求在仅具有向联合国保护的文件访问权限的Windows帐户的安全上下文中执行,并从认证的请求到Windows请求映射帐户可以访问所有文件。
我不知道你想要走这条路,因为它可能是更容易简单地以“位置”元素多次复制,一次要公开匿名访问每个资源。 但是,如果你想看看这个,有一些很好的资源, 在这里或在这里
我想你可以根据文件夹名组。 检查了这一点http://weblogs.asp.net/gurusarkar/archive/2008/09/29/setting-authorization-rules-for-a-particular-page-or-folder-in-web-config.aspx