用户 DefaultApp 池登录失败

Login failed for user DefaultApp pool

我正在本地 DotNetNuke 网站上工作,一切顺利。但是在安装了我创建的自定义模块之后,我在其中使用了 Linq 2 Sql。 突然我得到一个模块加载异常

"The login failed. Login failed for user 'IIS APPPOOL\DefaultAppPool'".

网站本身工作正常,我的 web.config 文件中的连接字符串都使用 SQL-登录,所以看起来,不知何故,我的模块选择使用集成安全而不是我配置的安全。

我尝试修复我的连接字符串,编辑 web.config 并重新保存。

我还尝试授予数据库 "DefaultAppPool" 权限,并在 LocalSystem 下尝试 运行。这些都有效,但不是它应该工作的方式。无论安全性如何,该模块都应该可以安装在每个配置上。

我对 DotNetNuke 了解不多,但从我在这里看到的情况来看,似乎有些东西正在使用基于 windows 的默认身份验证访问 SQL 服务器,而用户 运行 你的应用程序是应用程序池名称,在你的例子中,它是 IIS APPPOOL/DefaultAppPool,最简单的解决方法是转到 iis -> 应用程序池 -> 找到你在应用程序中使用的应用程序池 -> 单击它然后在“动作”面板中单击 'Advance Settings'。找到'Identity' 属性 改成localsystem。或者您可以向用户 'IIS APPPOOL\DefaultAppPool' 授予给定数据库的权限。

此外,您还需要检查为什么未使用连接字符串。

如果解决了您的问题,请标记为解决方案。

感谢您的回复!但我发现我实际上并没有将任何连接字符串传递给我的 linq2sql 数据库上下文。通过它,我让它工作了