刚刚将网站从Windows Server 2003迁移到Windows Server 2012,并且很难限制对Admin目录的访问。在旧版本的IIS中,我需要做的就是禁用对该文件夹的匿名访问。在IIS8中,我有:
这给了我一个警告说:
不能同时使用基于挑战和登录重定向的身份验证。
我觉得这完全合理。但是,我试图禁用" Forms Authentication"并且下一个警报说:
此功能已被锁定且为只读
如何强制ASP.NET站点的管理目录(仅该目录)需要Windows身份验证?
答案 0 :(得分:2)
我相信你只需要将你的管理文件夹设置为自己的应用程序根目录,然后你可以做你想做的事。
管理员不是自己的应用的图片:
制作自己的应用:
答案 1 :(得分:0)
如果您的文件夹位于同一个IIS Web应用程序(显然是)下,则无法使用2种不同的身份验证。您需要拥有2个独立的IIS应用程序或拥有子应用程序(我认为这也意味着虚拟目录)。
换句话说,对于同一个IIS应用程序,您不能同时启用 Win Auth 和 Forms Auth ,并将托管管道模式设置为< em>集成,在IIS 7 +
中更新搜索我的书签后:
我尝试了本文中的想法,但我无法让它发挥作用:http://mvolo.com/iis-70-twolevel-authentication-with-forms-authentication-and-windows-authentication/ 但是它可能会给你更多的见解或想法。
我的方案更简单,我需要Windows和Forms auth用于整个应用程序。
我还有一个管理部分,最后我最终将管理员放在一个完全独立的网络应用程序中,该应用程序在子域下运行。这两个应用程序都在集成模式的IIS 7.5中运行(启用了admin windows auth,其余应用程序启用了Forms Auth)。