经典ASP页面冒充NT AUTHORITY\ANONYMOUS LOGON

15e*_*153 3 iis impersonation iis-7 asp-classic

我们有一个经典的ASP应用程序.我正在尝试使用相同的IIS7实例在同一台服务器上克隆它,因此我们有一个开发版本.我复制了文件,并复制了我在IIS管理器中可以找到的所有配置.

问题是数据库访问.新副本使用与旧的副本相同的应用程序池和相同的连接字符串,但是当我使用相同的旧连接字符串创建ADODB.Connection和调用conn.Open(str)时,该调用将抛出"Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.".

这不是应用程序池正在使用的用户帐户,但这似乎并不重要.

"Provider=SQLOLEDB;Data Source=OURSVR;Initial Catalog=OURDB;Integrated Security=SSPI;"
Run Code Online (Sandbox Code Playgroud)

那么:你如何强制经典ASP模拟除以外的用户帐户NT AUTHORITY\ANONYMOUS LOGON

15e*_*153 11

匿名用户身份是重要的.所以你必须做到这一点.在这种情况下,应用程序池具有我希望应用程序使用的标识,但此应用程序实际上并未使用它.

在IIS管理器的IIS管理器中,左键单击树中的应用程序,然后单击中间窗格底部的"功能视图"选项卡.

在"IIS"下(我在该窗格的"分组依据:"下拉列表中选择了"区域"),找到"身份验证"(或"真实...",如果列表视图没有焦点).

双击它.应该启用"匿名身份验证"(它是).

右键单击"匿名身​​份验证",然后从上下文菜单中选择"编辑...".

将"匿名用户身份:"从"特定用户:"("IUSR")更改为"应用程序池标识",然后单击"确定".

重新启动Web服务器.