Asp.net 使用web.config目录安全性和无扩展URL
我想使用web.config中内置的目录安全功能来限制对父页面的子页面的访问。我的结构如下:Asp.net 使用web.config目录安全性和无扩展URL,asp.net,security,authentication,web-config,authorization,Asp.net,Security,Authentication,Web Config,Authorization,我想使用web.config中内置的目录安全功能来限制对父页面的子页面的访问。我的结构如下: 成员 成员/新闻 成员/新闻界 会员/电影 用户应该能够访问成员父页面,但不能访问子页面。我的问题是,因为我使用的是无扩展URL,web.config认为这是一个目录,所以访问被阻止。有没有办法说只限制子页面的访问?这种配置应该可以做到这一点。它允许对整个网站进行匿名访问,除了其他位置——它们需要经过身份验证的用户才能工作 <configuration> <system.w
- 成员
- 成员/新闻
- 成员/新闻界
- 会员/电影
用户应该能够访问成员父页面,但不能访问子页面。我的问题是,因为我使用的是无扩展URL,web.config认为这是一个目录,所以访问被阻止。有没有办法说只限制子页面的访问?这种配置应该可以做到这一点。它允许对整个网站进行匿名访问,除了其他位置——它们需要经过身份验证的用户才能工作
<configuration>
<system.web>
<authentication mode="Forms">
<forms loginUrl="Login" defaultUrl="Members" />
</authentication>
<authorization>
<allow users="?" />
</authorization>
</system.web>
<location path="Members/News">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="Members/Press">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
<location path="Members/Movies">
<system.web>
<authorization>
<deny users="?" />
<allow users="*" />
</authorization>
</system.web>
</location>
</configuration>
Hi。虽然这是可行的,但我希望能够通过在“成员”级别上定义它(比如如果你有一个.aspx扩展名,它是如何工作的),因为子页面是通过CMS管理的,所以我不能保证子页面是什么。我不知道元素是否支持通配符(你试过看看它的行为吗?)。如果需要通配符授权,也许可以编写自己的HttpModule来处理授权。看看这个家伙自己的基本CustomUrlAuthorizationModule的实现:location属性不支持通配符,因为这是我尝试的第一件事。不过,CustomUrlAuthorizationModule可能是一个常客。我会进一步调查的。谢谢你的帮助。