环境:IIS 6.0、ASP.NET 3.5
我只需要使用 Windows 身份验证保护一个文件,并且只想确保我正确理解我的选项。
- 通过 IIS 关闭我要保护的文件的匿名访问,并确保选中集成 Windows 安全性
- 将文件放在它自己的目录中,并在其中放置一个 web.config 文件,该文件具有该目录的授权配置设置以要求 Windows 身份验证
有没有办法设置 web 配置来控制对单个文件的访问?是否有任何安全属性可以帮助我锁定单个文件?
在此先感谢凯文
环境:IIS 6.0、ASP.NET 3.5
我只需要使用 Windows 身份验证保护一个文件,并且只想确保我正确理解我的选项。
有没有办法设置 web 配置来控制对单个文件的访问?是否有任何安全属性可以帮助我锁定单个文件?
在此先感谢凯文
将文件放在它自己的目录中,并在其中放置一个 web.config 文件,该文件具有该目录的授权配置设置以要求 Windows 身份验证
您不能为单个应用程序混合身份验证提供程序。因此,例如,您不能对 ~/ 进行表单身份验证,对 ~/Secure 进行 Windows 身份验证。您可以通过在 IIS 中创建 ~/Secure 另一个应用程序来解决它 - 但这会使部署和测试 IMO 变得非常复杂。
我在尝试使用来自域的基本身份验证来保护 ASMX 服务时遇到了这个问题,但与 Forms Authenticated 页面位于同一个应用程序中。我最终破解了 ASMX 服务本身的基本身份验证挑战,以提示输入凭据。
<location>
使用标签应该可以做到这一点。
http://support.microsoft.com/kb/316871
我知道过去我做了相反的事情,并使用它来启用对单个资源的访问,并拒绝未经身份验证的用户访问所有其他资源。应该反过来工作。
如果要应用 web.config,则需要确保放置它的目录是 IIS 虚拟目录。这应该可以解决问题,因为 web.config 的安全限制将管理该目录中的所有文件。