C# 用户DefaultApp池登录失败

C# 用户DefaultApp池登录失败,c#,asp.net,sql-server,dotnetnuke,C#,Asp.net,Sql Server,Dotnetnuke,我在一个本地的DotNetNuke网站上工作,一切都很顺利。但在安装了我创建的自定义模块之后,我使用了LINQ2SQL。 突然我得到一个模块加载异常 “登录失败。用户的IIS登录失败 APPPOOL\DefaultAppPool'' 网站本身运行良好,我的web.config文件中的连接字符串都使用SQL登录,因此,不知何故,我的模块选择使用集成安全性而不是配置的安全性 我尝试修复我的连接字符串,编辑web.config并重新保存 我还尝试赋予数据库“DefaultAppPool”权限,并尝试在

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

“登录失败。用户的IIS登录失败 APPPOOL\DefaultAppPool''

网站本身运行良好,我的web.config文件中的连接字符串都使用SQL登录,因此,不知何故,我的模块选择使用集成安全性而不是配置的安全性

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


我还尝试赋予数据库“DefaultAppPool”权限,并尝试在LocalSystem下运行它。这两种方法都能起作用,但不是它应该起作用的方式。无论安全性如何,该模块都应该可以安装在每个配置上。

我对DotNetNuke了解不多,但从我在这里看到的情况来看,似乎有什么东西正在使用基于windows的默认身份验证访问SQL server,在您的情况下,运行您的应用程序的用户就是应用程序池名称,它是IIS APPPOOL/DefaultAppPool,最简单的修复方法是转到IIS->应用程序池->查找应用程序中使用的应用程序池->单击它,然后单击“操作”面板中的“高级设置”。查找“Identity”属性并将其更改为localsystem。或者,您可以向用户“IIS APPPOOL\DefaultAppPool”授予给定数据库的权限

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


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

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

出于安全原因,我希望应用程序在应用程序池标识下运行。。无论配置如何,该模块都需要可安装在每个DotNetNuke环境中。我以前尝试过你的解决方案(我会更新我的问题),它确实解决了问题,但不是我想要的方式。请尝试在连接字符串之前添加