代码改变世界

用户 'IIS APPPOOL\Private' 登录失败。

2017-07-14 11:54  小猫爱吃清蒸鱼  阅读(292)  评论(0编辑  收藏  举报

用户 'IIS APPPOOL\Private' 登录失败。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 用户 'IIS APPPOOL\Private' 登录失败。

 

解决方法:

 应用程序池标识变更:

此时,尝试打开通过网站链接数据库,提示:

用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败。

继续解决,

查看sql中用户账户是否存在NetWorkService,方法:

       1)打开sql管理器,选择,【安全性】-【登录名】,查看是否存在NetWorkService,若不存在,则添加之

       2)添加账户方法:右键【登录名】,选择【新建登录名】,在弹出的对话框中的右边有登录名输入框,点击右侧的【搜索】,在弹出的【选择用户或组】中点击 【高级】,再点击【立即查找】,找到NetWorkService用户名,点击确定。  然后点击左侧的【服务器角色】,将publick选择框打上,点击【用户映射】,将你项目中用到的数据表前 的勾打上,点击【确定】即可。

到此为止,重新运行即可

最后总结:

为什么会出现上面的错误呢,经检查发现web.config连接数据库配置中存在Trusted_Connection=True; 

若直接去掉Trusted_Connection=True; 或者 改成false,都可以避免上面的问题。

 

PS:

Trusted_Connection 信任连接(Trusted connection)

当为 false 时,将在连接中指定用户 ID 和密码。当为 true 时,将使用当前的 Windows 帐户凭据进行身份验证。 
可识别的值为 true、false、yes、no 以及与 true 等效的 sspi(强烈推荐)

 

参考:

http://www.cnblogs.com/sunxi/p/4277818.html