当前位置 : 主页 > 网络编程 > ASP >

asp.net – 模拟无法正常工作 – 网络共享

来源:互联网 收集:自由互联 发布时间:2021-06-24
我创建了一个虚拟目录(IIS 7.0),它指向网络共享.此虚拟目录位于我的Web应用程序根目录下. 我尝试使用域凭据进行匿名访问.另外,我尝试使用模拟如下… identity impersonate="true" userName="sup
我创建了一个虚拟目录(IIS 7.0),它指向网络共享.此虚拟目录位于我的Web应用程序根目录下.

我尝试使用域凭据进行匿名访问.另外,我尝试使用模拟如下…

<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

网友评论