单个文件的Windows身份验证

时间:2009-03-26 19:24:12

标签: asp.net authentication windows-authentication

环境:IIS 6.0,ASP.NET 3.5

我需要使用Windows身份验证只保护一个文件,并且只是想确保我正确理解我的选项。

  1. 通过IIS关闭匿名 访问我想要的文件 安全,并确保集成 检查Windows安全性
  2. 将文件放在自己的目录中,并在其中放置一个web.config文件,该文件具有该目录的授权配置设置,以要求进行Windows身份验证
  3. 有没有办法设置Web配置来控制对单个文件的访问?是否有任何安全属性可以帮助我锁定单个文件?

    提前致谢 凯文

3 个答案:

答案 0 :(得分:3)

  

将文件放在自己的目录中,并在其中放置一个web.config文件,该文件具有该目录的授权配置设置,以要求进行Windows身份验证

您无法将身份验证提供商与单个应用混合使用。因此,例如,您不能为〜/ Secure提供〜/和Windows身份验证的表单身份验证。您可能能够通过在IIS中安装〜/ Secure另一个应用程序来解决它 - 但这极大地使部署和测试IMO变得复杂。

我尝试使用域中的基本身份验证来保护ASMX服务时遇到此问题,但与Forms Authenticated页面位于同一个应用程序中。我最终在ASMX服务中攻击了一个基本的auth挑战,以提示凭证。

答案 1 :(得分:2)

这应该可以使用<location>标记。

http://support.microsoft.com/kb/316871

我知道在过去我做了相反的事情,并使用它来启用对单个资源的访问,并将所有其他资源拒绝给未经身份验证的用户。应该反向工作。

答案 2 :(得分:0)

如果要应用web.config,则需要确保放置它的目录是IIS虚拟目录。这应该是诀窍,因为web.config的安全限制将管理该目录中的所有文件。