大家好,我最近在使用 Microsoft Server 2008、Plesk 和 MSSQL 时遇到了一些问题。问题是,当我池中的一个应用程序尝试访问数据库时,我收到一条错误消息,提示它无权访问。
我现在已经通过将 IIS 中的应用程序池标识设置为“本地系统”解决了这个问题,但我知道这样做可能会带来一些安全风险。你们有更好的解决方案吗?池可以访问 MSSQL 数据库,但不会危及安全?
谢谢你!
答案1
如果您的 IIS 和 SQL 服务器位于同一个域中,请创建一个域用户作为应用程序的标识。将应用程序池标识设置为该用户并将其添加为数据库用户。还要确保该用户可以访问所有应用程序文件。
答案2
我现在已经通过将 IIS 中的应用程序池标识设置为“本地系统”解决了此问题,但我知道这样做可能会带来一些安全风险。你们有更好的解决方案吗?
假设 DB 和 IIS 位于同一台机器上,您可以创建一个本地用户帐户并授予该帐户对 DB 的必要权限(必要时授予 DB 读取器和写入器权限)。然后为在该帐户下运行的应用程序创建一个 IIS AppPool,并将应用程序配置为使用该 AppPool。