我创建了一个虚拟目录(IIS 7.0),它指向网络共享.此虚拟目录位于我的Web应用程序根目录下. 我尝试使用域凭据进行匿名访问.另外,我尝试使用模拟如下… identity impersonate="true" userName="sup
我尝试使用域凭据进行匿名访问.另外,我尝试使用模拟如下…
<identity impersonate="true" userName="<supplied username>" password="<supplied password>" />
问题:应用程序总是使用IUSR连接到该共享并获得“拒绝访问”.我需要强制我的应用程序使用上面的域名.
更新
1.在运行procmon时,每次访问被拒绝之前,我都会看到“FAST IO DISALLOWED”消息.不确定它是否相关.
我怀疑双重问题的症状在这里.但是,如果不真正将身份验证更改为Kerbros,不知道如何真正验证它或如何解决它.
谢谢!
默认情况下,IIS 7以“集成模式”运行.你再也不能冒充那里了
(您在模拟时不会收到错误消息,但它不会提升权限).
您需要将应用程序的ASP.NET应用程序池切换为“经典模式”才能使用模拟.
请注意,这也意味着您将丢失所有依赖于集成模式的功能.
另一个可能的解决方案可能是创建一个指向smb共享的符号链接,赋予符号链接IUSR权限,让操作系统处理其余部分(不知道是否有效,并且给出了MSFT的跟踪记录,我猜它没有).
mklink /d C:\inetpub\wwwroot\your_application_root\ShareName \\Server\ShareName\Directory
但是mklink要求Windows Vista,也就是说Windows Server 2008