在我的webapplication中,我创建了一个名为'System'的子文件夹。在Web应用程序的根目录中,授权设置如下:
<authentication mode="Forms">
<forms cookieless="UseCookies" loginUrl="~/Login.aspx" timeout="43200" path="/" protection="All" />
</authentication>
<authorization>
<allow users="*"/>
</authorization>
在'System'文件夹中,我添加了一个web.config文件,其中包含以下内容:
<system.web>
<authorization>
<allow roles="administrator" />
<deny users="*" />
</authorization>
</system.web>
<location path="Default.aspx">
<system.web>
<authorization>
<allow roles="partner" />
</authorization>
</system.web>
</location>
在本地运行此webapp(win7 x64,VS2010)时,这些访问规则将受到尊重。这意味着,合作伙伴角色可以访问“系统”文件夹,只访问Default.aspx。
当我使用IIS 6.0在win2k3计算机上发布我的网站时,合作伙伴角色会被重定向到登录页面。当我在'System / Default.aspx'上查看IIS6中的.NET配置设置时,角色'Partner'是允许的,但不知怎的,它被忽略了。
任何人都有线索?