CSDN博客

img hbqhdlc

vs2005 用户 'NT AUTHORITY/NETWORK SERVICE' 登录失败之处理

发表于2008/10/2 19:28:00  1251人阅读

在运行时,出现提示:用户 'NT AUTHORITY/NETWORK SERVICE' 登录失败。出现这个问题的大多数情况是:用VS2005开发的web程序,而后台是用SQL SERVER2000数据库。在单机调试时没有问题,但是在发布程序时会出现如标题的提示。

主要原因是数据库的操作权限问题。

今天上网查了一下,网上流行的说法都像下面说的那样:

第一步:把'NT AUTHORITY/NETWORK SERVICE' 添加到Administrator组中

我的电脑-->右键-->管理-->本地用户和组

选择“组”-->双击Administrators-->单击“添加”-->单击“高级”-->单击“立即查找”-->在下面的列表中选择Network Service用户-->两次单击“确定”-->加入。

第二步 在企业管理器中加入NetWord Service用户

打开Sql Server企业管理器-->选择数据库实例-->打开“安全性”节点-->选择“登录”-->在右边的列表中单击右键-->选择“新建登录”-->在“常规”选项卡中单击“名称”旁边的按钮“...”-->选择“Administrators”组-->单击下面的“成员”按钮-->选择“Network Service”-->单击“添加”按钮-->单击“确定”,返回“新建登录”对话框-->保证身份验证类型为“windows验证”和“允许访问”-->单击“确定”-->关闭“企业管理器”

第三步 重新运行asp.net程序,数据库连接字符串选择windows验证即可。

上面三步我用google搜索的其中99%以上的都是这个说法,不知道这些人试过了没有。反正我是用这个方法试了N遍都不行。最后在一个很隐蔽的论坛里找到了另一个说法,一试就成了。

上面的说法思路完全没问题,只是方法有问题。下面是改进后的方法,把我的程序改好了。不一定对每个人都有用,但可以作为参考。

第一步跟上边一样。不说了。

第二步 在企业管理器中加入NetWord Service用户

打开Sql Server企业管理器-->选择数据库实例-->打开“安全性”节点-->选择“登录”-->在右边的列表中单击右键-->选择“新建登录”-->在“常规”选项卡中单击“名称”旁边的按钮“...”-->选择不是Administrators组,而应该是IIS_WPG,单击“成员”按钮,弹出“本地组成员身份”对话框,在这里面的选择框里选择“NETWORK SERVICE”,再单击“添加”,再两次“确定”返回“新建登录”界面,此时选择“数据库访问”选项卡,选择你要使用的数据库——在数据库名前加勾,下边就出现了“XX(你的数据库名称)的数据库角色”,系统默认选中了public,你要做的,就是把下边的“db_owner”选中。返回常规界面,选择“windows身份验证”和“允许访问”。

关闭企业管理器。

第三步,重新运行你的Web程序,对了,最好在你的Web.config里把你的"uid=;pwd="加上。问题可能就解决了。

0 0

相关博文

我的热门文章

img
取 消
img