用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败问题解决方案

时间:2021-02-19 06:20:21
当连接sqlserver使用信任连接(参看Web.Config文件)时就会出这个错误,在WindowsXP当中,ASP.NET的运行帐号是ASPNET,而在Windows server2003当中,运行帐号则改为了Network Service,直接把这个用户加到sqlserver的登陆帐号里面就好了,这样很多例子就不用去改连接字符串了!



具体的解决方法:



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

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

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



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

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



第三步

重新运行asp.net程序,数据库连接字符串选择windows验证即可。   本站发布的基于asp.net+SQL的应用程序,安装后无一例外地出现NTAUTHORITY\NETWORK SERVICE登录失败的问题,这是怎么回事?

原因是:同SQL数据库无法建立信任连接。在win2000中,IIS进程中验证的用户名是aspnet,而在win2003中,验证的用户名是NTAUTHORITY\NETWORKSERVICE,在本站发布的应用程序的安装程序中,仅仅为SQL数据库中添加了aspnet用户(此aspnet用户在win2003中没有,安装程序执行日志记录中应该会出现错误)。

你需要在win2003中手动安装程序,(在CSK中当安装程序出现设置向导后点取消,在IBS Portal中点跳过就行),然后在IIS管理器中设置虚拟目录(注意在CSK中是CommunityStarterKit目录,在IBS Portal中是子PortalVBVS目录,不要弄错了,把所有都包括进去),然后点该虚拟目录,设一个连接池(可在连接池中新建一个),再查看一下文档中的默认启动文档是否是default.aspx,其它的把它删掉,接下来就可以设置数据库了。

打开SQL的企业管理器,在安全性中新建一个登录,点名称右边的“...”中选择IIS_WPG,在成员中选NT AUTHORITY\NETWORKSERVICE点确定,在SQL的服务器角色中选择databaseGreators即可。

然后再新建一个数据库,选刚才所建的数据库点右键选新建数据库用户,再从下拉列表中选NTAUTHORITY\NETWORKSERVICE,角色选db_owner,点确定后退出,然后用查询分析器执行脚本,注意选择刚才所建的数据库,(不要弄错了表建到master数据库中)在CSK中只需执行setup\SQLScripts目录中的CreateDatabaseObjects.sql。

然后再设置一下web.config文件(注意不是setup目录中的那个)中的connectionString,在database=后面换上你建的数据库名称。

打开浏览器,输入http://localhost/加上你建立的虚拟目录名称,如果设置没错,你应该可以看到网页了。

正在开发的系统突然连不上数据库,报出如题的错误,记得曾经遇到过,但忘了如何解决,后来找了半天才找到问题

原因是:

同SQL数据库无法建立信任连接。在win2000中,IIS进程中验证的用户名是aspnet,而在win2003中,验证的用户名是NTAUTHORITY\NETWORK SERVICE

解决方法:

打开SQL的企业管理器,在安全性中新建一个登录,点名称右边的“...”中选择IIS_WPG,在成员中选NT AUTHORITY\NETWORKSERVICE点确定,在SQL的服务器角色中选择databaseGreators即可。

然后再新建一个数据库,选刚才所建的数据库点右键选新建数据库用户,再从下拉列表中选NTAUTHORITY\NETWORK SERVICE,角色选db_owner,点确定后退出

还是不行的话在web.config文件中相关位置增加用户名和密码登陆:比如加uid=sa;password=



例如位置在:

<appSettings>

      <add key="ConnectionString"value="server=localhost;Trusted_Connection=true;database=Store;uid=sa;password="/>

   </appSettings>