[数据库]SQL Server 用户NT AUTHORITY\IUSR 登录失败
2016-01-27 15:53
453 查看
今天打开网站时,突然报这个错误,平时都好好的
想一下最近只是修改了一处Web.config配置,即在 Web.config 中添加了下面这句,它是用来模拟IIS验证账户,如果没有指定用户名,所以默认就用 NT AUTHORITY\IUSR
因为这个用户登录指定数据库时权限不够,导致 Windows 身份验证就失败了,有三种解决方案:
1. 可以将连接字符串改成用户名(sa)和密码登录,如果没有权限操作服务器建议采用这个方案;
2. 或者把这句从 System.Web 内注释掉,但可能影响其它功能,比如文件操作;
3. 打开SQL Server Management Studio -> Security -> Logins -> 右键 New Login... -> Login name 填入 NT AUTHORITY\IUSR -> OK
在新建的用户 NT AUTHORITY\IUSR 上点击右键属性 Properties -> Server Roles 选中 public 和 sysadmin -> User Mapping 选中你的数据库,在 Default Schema 列填入 dbo -> OK 搞定!
Cannot open database "JMECC" requested by the login. The login failed. Login failed for user 'NT AUTHORITY\IUSR'.
我的连接字符串是这样的,用的是 Windows 身份验证登录:data source=.\SQLEXPRESS;initial catalog=JMECC;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework
想一下最近只是修改了一处Web.config配置,即在 Web.config 中添加了下面这句,它是用来模拟IIS验证账户,如果没有指定用户名,所以默认就用 NT AUTHORITY\IUSR
<identity impersonate="true" />
因为这个用户登录指定数据库时权限不够,导致 Windows 身份验证就失败了,有三种解决方案:
1. 可以将连接字符串改成用户名(sa)和密码登录,如果没有权限操作服务器建议采用这个方案;
2. 或者把这句从 System.Web 内注释掉,但可能影响其它功能,比如文件操作;
3. 打开SQL Server Management Studio -> Security -> Logins -> 右键 New Login... -> Login name 填入 NT AUTHORITY\IUSR -> OK
在新建的用户 NT AUTHORITY\IUSR 上点击右键属性 Properties -> Server Roles 选中 public 和 sysadmin -> User Mapping 选中你的数据库,在 Default Schema 列填入 dbo -> OK 搞定!
相关文章推荐
- nginx + mongodb
- Maven管理Oracle JDBC驱动
- 分布式缓存系统Memcached简介与以及在.net下的实践(转)
- java 使用jedis 操作redis 时 方法说明
- sql函数匹配'a|b'和'c|d|a'
- Redis应用场景
- 将Oracle中Blob字段存储的图片转换成字节流直接输出到浏览器
- oracle执行计划 操作符详述
- Oracle中Clob类型的字段数据转换成String字符串
- Oracle TDE学习 oracle 11gR2
- mysql 中检查表是否损坏以及修复表
- 分别在MS-DOS和MySQL Command Line Client编写sql语句
- SQL Server NonClustered DeadLock
- redis学习及实践3---Jedis、JedisPool、Jedis分布式实例介绍
- 基于mysql中一些易混淆知识点总结
- 提升SQLite数据插入效率低、速度慢的方法
- MongoDB基本命令用
- scala 连接 mysql
- SQL Server 高性能写入的一些总结
- SQLite可视化管理工具汇总