您的位置:首页 > 运维架构

PetShop3.0学习(二) windows 2003下'NT AUTHORITY/NETWORK SERVICE 权限问题

2006-10-11 09:00 405 查看
   解决了中文字符的问题后,又遇到了这个问题,在网上搜了一下,发现有很多朋友遇到了相同的问题,同样,也就有了很多相同的解决办法。

    下面转一个:

  ?? 'NT AUTHORITY/NETWORK SERVICE' ?????

(1).原因:权限不够 .

首先你肯定使用的是Windows Server 2003版操作系统。这个系统与Windows 2000不同,asp.net的IIS的ISAPI程序不是asp_isapi.dll,而是w3wp.exe程序,此进程使用的帐户不是系统用户里面的ASPNET,而是Network Service。这个可以在Windows任务管理器中的进程栏可以看到。
而微软出的示例程序,如PetShop和QuickStart,访问数据库的方式都是Windows身份验证。
所以必须把你电脑上安装的所有Sql Server数据库的实例全部设定为Windows和Sql混合身份验证,而且必须在Sql Server的企业管理器内数据库的“安全性”-->“登录”内加入错误信息提示的“'NT AUTHORITY/NETWORK SERVICE' ”用户。而这个用户是无法使用正常方式添加的.

(2).解决方案:

1 关闭所有程序
2 打开“系统”快捷菜单-->“管理”
3 在“本地用户和组”内的Administrators组上双击,出现添加属性对话框。
4 单击“添加”按钮,出现添加用户对话框
5 单击“高级”按钮,再单击“搜索”按钮。注:此'NT AUTHORITY/NETWORK SERVICE'用户为系统内置帐户,无法直接添加。
6 在“搜索结果”内选择“Network Service”用户后,单击“确定”
7 再次单击确定,则Network Service用户加入Administrators组,此用户就是Win2003的asp.net进程用户。
8 下面把此用户设置可以访问Sql Server。关闭“计算机管理”,打开Sql Server的企业管理器。
9 选择你要加入帐户的Sql Server实例,选择“安全性”,选择“登录”然后加入你刚才加入Administrator组的那个Network Service用户,然后选择此用户的权限,然后关闭企业管理器。
10 确认你的Sql Server设置为Windows身份验证或混合验证
11 打开PetShop,可以正常访问。

    但是看上去似乎有点傻,需要做的事情就是把Network Service用户添加到SQL Server登陆帐户中。大可不必把Network Service用户添加到Administrator中,再转到SQL Server登陆帐户中。直接在SQL Server中把IIS_WPG中的Network Service用户添加进来就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐