IIS与COM组件权限的问题

链接:http://www.yanggaofei.cn/post/292e96_a924ba

一个纠缠了我好久的BUG.

两周前,微软那边的同事给了我一个bug. 唉。苦逼啊,在这边我干的最多的工作就是追踪并修复修bug. 

bug和去三月份在上海群硕遇到的问题一样,web项目,本地调试可以良好运行,在IIS上却不行。之前的经验告诉我是权限问题。但是这次代码是 别的同事写的,所以一开始我们都focus在代码上。还是走了弯路。

在尝试未果之后,bug,便被搁置在一旁,一个礼拜吧,没有人再去碰它了,大家都有别的事情去做,所以,这是一个难啃的骨头。不过还是我得去修复。

今天在windows事件日志上,看到了一条错误信息:

05191535_GErO.jpg
并不确定就是我的那个错误,但是仔细看时,却非常像,有权限问题,有COM组件信息,我的那个功能确实是IIS调用COM.所以感觉问题就是在这里。经过查询后,这类信息还是挺多的。

打开注册表后(命令:C:\Windows\regedit.exe),查询APPID:9CA88...找到了相应的注册表信息。

05191535_UXWH.jpg
右键权限。

我们需要将图一中提到的用户“NetWork”加进来。首先需要将此注册表可编辑,windows默认注册表的编辑权限为注册表的安装者。点击Advance:05191536_ToRP.jpg

点击change:

05191536_D5tf.jpg
将用户修改你当前的登录用户,这样你就可以修改了,回到之前添加用户的界面,将相应的用户加上。将用户system和Administrator的Full Control(完全控制)打上钩,不然第二部将无法编辑。第一步完成。

2.运行 administrative tool 中的 Component Services ,(运行:dcomcnfg)打开之后:点击 my computer:

05191536_AFel.jpg
展开所有的配之后,根据AppID找到对应的配置,右键属性,切换到Security面板,现在开始修改啦。图一中提到,Network Service用户没有Local Activation permission (本地激活权限)。那么来添加:

05191537_ZJbd.jpg

好啦。对应用户的权限添加好啦。


=========================================

关于IIS应用程序池的用户。IIS应用程序池的进程模型ID:

05191537_NHdU.jpg
可以用系统默认的四个account 账户,也可以自己添加。

打开Computer Management,(电脑-管理)

05191537_pyTn.jpg
将刚才的用户加进去,这一步是不是必须,没有去考证。

05191537_ufjS.jpg

如果所有都搞定了。事件log中的那个error应该不会再有了。

转载于:https://my.oschina.net/u/867090/blog/174406

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值