是否可以通过 web.config 或类似的方式仅允许\禁止访问 ASP.NET MVC2 应用程序上的某些控制器或操作?我的意思不是通过 Authorize 属性,我的意思是完全禁止访问某些控制器?
我正在查看的场景是,客户端有一个 ASP.NET MVC2 站点,其中一个控制器具有公共操作(并且没有 Authorize 属性)和一堆其他控制器,它们具有 Authorize 属性。该站点使用表单身份验证,因此如果用户尝试访问其中一个非公共控制器,则会提示他们登录。
客户希望更进一步,在他们的 Intranet 上允许访问非公共控制器,而在 Internet 上只能访问公共控制器。
有什么方法可以做到这一点,最好不要对实际应用程序进行代码更改?我猜可能有 2 个具有不同设置的 IIS 站点\应用程序?我需要 2 个具有不同 web.config 的应用程序文件夹副本还是有其他选项?