IIS应用程序池,服务帐户和MSSQL连接

时间:2015-05-12 15:09:47

标签: sql-server iis laravel-4

我有两个完全相同的Windows 2012 R2环境。一个用于开发,另一个用于分期。

对于我的服务器端语言,我使用的是PHP和Laravel 4.1 Framework。

我有一个服务帐户,我用这两个环境连接到我们的MSSQL开发数据库。我将服务帐户设置为应用程序池,并将该应用程序池分配给IIS 8.5中的应用程序。我做过这么多次没有任何问题。这避免了我们将密码存储在Laravel中的PHP数据库配置文件中。

现在,我构建的应用程序在开发中运行良好。我可以使用上述方法连接到数据库。我将相同的代码复制到staging,再次使用相同的环境和相同的服务帐户,但我得到了可怕的:

PDOException
SQLSTATE[28000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

因为它在开发中没有任何问题,并且因为我的分段框上有其他成功连接的应用程序,所以我完全不知道为什么这个应用程序无法连接测试。我昨天花了几个小时排除故障,没有运气。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

该问题与ApplicationHost.config文件有关。其他应用程序和应用程序池的属性为userName =“”,导致该问题的应用程序没有。我手动添加了属性,这解决了我的问题。

<location path="Default Web Site/application-name">
<system.webServer>
<security>
<authentication>
<basicAuthentication enabled="false" />
<anonymousAuthentication enabled="true" userName="" />
</authentication>
</security>
<handlers>