中国服务器网

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

DCOM中的模拟如何工作?

我有一个使用OLE自动编组器的DCOM客户端和服务器应用程序。 它们在同一台PC上运行时工作正常,但是当服务器在不同的PC上不在同一个域中时,我得到E_ACCESSDENIED(0x80070005)。 使用dcomcnfgconfiguration服务器PC,以便将所有DCOM对象的访问权限授予在客户端上指定其login名和密码的用户。 ServerApp及其types库在服务器PC上注册。 types库也在客户端PC上注册。 我直接在ClientApp中指定服务器名称,所以就我所知,客户端PC上不需要configurationdcomcnfg。 CreateInstanceEx()与服务器名称,login,域和密码工作正常。 它返回IUnknown,同时在服务器PC上启动ServerApp。 但是,当我尝试QueryInterface()为服务器支持的接口,我得到E_ACCESSDENIED。 分析安全事件日志,我有两个logging: 首先,用户在ClientApp中指定的凭据成功进行networkinglogin。 当我调用CreateInstanceEx()时会发生这种情况。 接下来, 我在客户端PC上login的用户login失败。 由于两台PC不在一个域中,所以该用户对于服务器PC是未知的。 现在,为什么这个用户会login到服务器,特别是当我调用QueryInterface的所有东西? 研究CreateInterfaceEx参数,似乎有某种模拟机制正在进行。 但是谁扮演谁还不清楚。 有三个用户凭证参与: ServerApp在服务器PC上运行的用户(在dcomcnfg中configuration)。 连接时ClientApp指定的用户的用户。 用户ClientApp在客户端PC上运行的凭据。 无论你如何看待它,如果涉及#3,它是一个用户太多。 如果DCOM要在服务器PC上识别/模拟#3,为什么我需要指定#2的凭据? 到了什么地步? DCOM假冒#2似乎是合乎逻辑的,因为这是我明确指定的凭据。 但为什么第二次login尝试呢? 有人能解释一下模拟是如何工作的,而且如果有一种方法可以忽略它并以dcomcnfg中指定的用户身份运行?

EPERM,操作不允许错误,configuration存储

我知道这是node常见的错误,但我所有的故障排除技术似乎都失败了。 Windows 7(32位) Node@0.10.10 npm@1.2.25 尝试运行像bower和yo (Yeoman)这样的包命令时会发生此问题。 为了我的理智,我在一个以pipe理员身份运行的Node.js命令提示符下执行这些命令。 例如,这里是用yo运行这个输出: Error: EPERM, operation not permitted 'C:\Users\me\.config\configstore\insight-yo.yml' at Object.fs.openSync (fs.js:427:18) at Object.fs.writeFileSync (fs.js:966:15) at Object.create.all.set (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\node_modules\configstore\configstore.js:39:7) at Object.Configstore (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\node_modules\configstore\configstore.js:30:11) at new Insight (C:\Users\me\AppData\Roaming\npm\node_modules\yo\node_modules\insight\lib\insight.js:20:16) at Object.<anonymous (C:\Users\me\AppData\Roaming\npm\node_modules\yo\bin\yo:25:15) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) 从本质上来说,似乎node进程不能写入这个.config文件夹。 我已经尝试了以下解决方法: 新鲜安装的node和个人包(在每一个可以想象的顺序) 为.config文件夹中的所有用户设置写入权限 在npm存储库中阅读Windows用户的注释之后重新安装git 有关此问题的任何想法或故障排除技巧? 谢谢!