![IIS8 中的安全配置不允许使用 ClassicASP 在网络共享上创建文件夹](https://linux22.com/image/609081/IIS8%20%E4%B8%AD%E7%9A%84%E5%AE%89%E5%85%A8%E9%85%8D%E7%BD%AE%E4%B8%8D%E5%85%81%E8%AE%B8%E4%BD%BF%E7%94%A8%20ClassicASP%20%E5%9C%A8%E7%BD%91%E7%BB%9C%E5%85%B1%E4%BA%AB%E4%B8%8A%E5%88%9B%E5%BB%BA%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我需要找到允许此代码在启用 Windows 身份验证的情况下工作的 IIS8 配置。无匿名访问。
我有三行用传统 ASP 编写的代码,用于在网络共享上创建一个文件夹。它设置为 Windows 身份验证。它给了我一个传统 ASP 错误,指出 .CreateFolder 行上的“权限被拒绝”。
经典 ASP
strFolderToCreate = "\\ServerABC\ShareName\Test1"
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
objFSO.CreateFolder(strFolderToCreate)
它适用于以下场景:
- 旧服务器是 Windows Server 2003 上的 IIS6。运行良好
- 新服务器是带有 IIS8 的 Windows Server 2012。当设置为仅匿名访问(这将使用应用程序池标识)时,运行良好
不适用于 Windows Auth:
- 当设置为Windows身份验证时,它不起作用。
公司中的每个用户都有权在文件夹级别和共享级别在此文件夹中创建任何内容。您可以转到该文件夹并正常创建文件夹。我尝试了很多方法,例如经典管道、集成管道、应用程序池标识更改等。
我不知道如何将其与 Windows 身份验证配合使用。这是一种双跳情况吗?即网站用户经过身份验证,并尝试两次跳过该身份验证?
答案1
听起来像是双跳问题。您在事件日志中看到了什么?在 IIS 6 中,网络服务是默认的应用程序池帐户。您是否尝试将应用程序池设置为网络服务、经典模式?UAC(用户帐户)是否已启用?