2016-02-09 14 views
-1

我们开发了一个产品,它是一个网络应用程序。在IIS中进行配置时,我们禁用除之外的所有身份验证模式Windows身份验证(应用程序仅适用于Windows身份验证)。发送用户标识到SQL进行登录

我们创建一个服务帐户,并为所有服务器和数据库服务器上的该帐户提供管理员访问权限。

我们使用该服务帐户的用户名和密码在web.config中配置连接字符串。一切都很好,直到现在。

我们收到了一个新的要求,即不会创建服务帐户,并且会为每个用户授予数据库访问权限。我们必须以这样一种方式来配置我们的应用程序,即使用Windows凭据来访问应用程序将传递给SQL Server。此更改的原因:我们可以记录访问数据库的用户。

我在连接字符串中设置了Integrated Security=SSPI,并尝试使用不同的应用程序池标识,但无济于事。

如果需要相同的功能来实现功能,我们甚至可以更改代码。

有人可以帮助我什么我想念,或如何可以实现?请让我知道是否需要更多信息,我会很乐意提供相同的信息。

应用程序服务器和数据库服务器位于相同的域和网络但机器不同。访问应用程序的用户将位于相同的域和网络上。这是一个基于Intranet的应用程序。

+0

集成安全性会带来什么样的错误? – ChrisBint

+0

根据应用程序池配置中设置的标识,使用“匿名”,“SERVER_NAME $”,“APP_POOL_IDENTITY”无法访问数据库 –

回答

0

此外,这将是一个跳方案,因此您将不得不为IIS服务器启用委派,并且如果您打算传递用户凭据,则还需要为用户帐户启用委派。您可以使用工具delegconfig来解决此问题。