我想限制对文件夹的访问,而不是页面,所以我认为最好的方法是使用IIS远程管理器并添加.NET授权规则条目以拒绝所有用户到相关文件夹。
下一步是为可能处于某个角色的用户添加授权(我猜这适用于登录MVC站点的用户,但我还不知道)。
在测试第一步时,我发现MVC 3应用程序将访问者引导到登录页面。
我遇到的第一个挑战,仍然希望解决。
原始子域格式:
subdomain1.site.com
锁定的文件夹是“images”,但是锁定文件夹的路径:
subdomain1.site.com/content/images
当您尝试访问锁定文件夹中的图像时,您将被重定向到:
subdomain1.site.com/subdomain1/Account/LogOn...
我希望这会是:
subdomain1.site.com/Account/LogOn...
我在StackOverFlow上发布了关于URL Rewrite...的另一个问题,不知道正确的解决方案应该是什么,所以我将这些问题分开了。
我知道您可以根据登录的用户和角色限制页面,但这仅适用于页面,而不适用于文件夹中可能存在的文件。
我的想法是拒绝对该文件夹的所有访问,然后为授权角色添加规则。如果安全性按照我认为的方式运行,那么当用户登录MVC 3站点时,他们将拥有分配了角色的凭据。
在此容量中,只要在规则中映射了相同的角色,它就应允许他们访问锁定文件夹中的任何受限文件。