我在尝试通过另一台计算机上的UNC从运行在IIS中的Web应用程序访问文件夹时收到拒绝访问错误的问题。 现在我确定你的想法,就像我做的那样,这当然只是一个权限问题,但是下面的事情发生了:
Procmon在访问这个文件时显示访问被拒绝的错误,详情请看下面的内容:
Operation: Create File Result: ACCESS DENIED Desired Access: Generic Read Disposition: Open Options: Synchronous IO Non-Alert Attributes: N ShareMode: Read, Write, Delete AllocationSize: n/a Impersonating: domain\user
应用程序本质上只是试图从该文件夹读取,没有更多(创build文件操作实际上只是创build该文件的句柄)。
文件服务器的安全日志中没有指示访问被拒绝错误的事件。
编辑
已经为UNC访问(允许应用程序池用户委托给文件服务器上的HOST和CIFS服务)设置了委派,并且使用Deleconfig确认这应该起作用,但是不起作用。 但是,设置应用程序池用户被允许委托给任何服务(Kerberos)只有工作。 据我所知HOSTS和CIFS是委托文件服务器访问所需的唯一服务,所以我不确定它需要访问什么额外的服务。
这是从远程计算机上运行的procmon?
如果是这样,那么表明模拟是成功的(因为它标识了正确的域\用户,对吗?),所以这不是Windows身份validation的授权问题。
如果不是这样,则可能是Windows身份validation的委派问题; 尝试DelegConfig。
如果应用程序正在使用\ server \ share创build自己的连接,也就是说,它不是映射到该位置的IIS中的文件夹,那么基于应用程序框架和编程方式,可能会出现更多的微妙之处。
不记得IIS是否允许UNC访问规范?
也许该区域需要分配给用于IIS访问的驱动器号。