Board logo

标题: [软件故障] 用户 'IIS APPPOOL\XXX' 登录失败解决方法 [打印本页]

作者: shillan    时间: 2013-12-16 15:41     标题: 用户 'IIS APPPOOL\XXX' 登录失败解决方法

现象:
运行MVC框架后提示“用户 'IIS APPPOOL\XXX' 登录失败”
详细堆栈信息如下
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.SqlClient.SqlException: 用户 'IIS APPPOOL\XXX' 登录失败。
源错误:
  1. 行 31:         {
  2. 行 32:             var query = from user in container.T_SYSTEM_USER where user.USER_NAME == username select user;
  3. 行 33:             return query.FirstOrDefault();
  4. 行 34:         }
  5. 行 35:
复制代码
原因:
1、查看项目web.config文件中的数据库连接字符串
Integrated Security=True;//集成验证模式
2、打开IIS管理器,查看项目的应用程序池,确实为集成验证模式,其标识列中为ApplicationPoolIdentity,问题就出在这里了。
解决:
右键打开应用程序池中该项目的高级设置,将设置中的 标识 选项打开,选择账户为 NetWorkService ,点击确定。
-----------------------------------------------------------------------------------------------
另:查看sql中用户账户是否存在NetWorkService,方法:
       1)打开sql管理器,选择,【安全性】-【登录名】,查看是否存在NetWorkService,若不存在,则添加之
       2)添加账户方法:右键【登录名】,选择【新建登录名】,在弹出的对话框中的右边有登录名输入框,点击右侧的【搜索】,在弹出的【选择用户或组】中点击【高级】,再点击【立即查找】,找到NetWorkService用户名,点击确定。  然后点击左侧的【服务器角色】,将publick选择框打上,点击【用户映射】,将你项目中用到的数据表前 的勾打上,点击【确定】即可。
  再次打开iis ,重启该项目,点击浏览,这样登录就ok了。




欢迎光临 逐梦论坛 (http://temp2023.zhumeng.org/) Powered by Discuz! 7.2