如何授予对我的 COM+ 的访问权限应用?
我创建了一个 COM+ 服务器应用程序,但调用者无法访问它 - 当它尝试从该应用程序实例化 COM 对象 (CoCreateInstance()
) 时,系统日志中会显示以下内容:
特定于应用程序的权限设置不会向用户 MACHINENAME\administrator SID (SID此处)来自地址 LocalHost(使用 LRPC)。可以使用组件服务管理工具修改此安全权限。
调整 COM+ 访问的唯一方法似乎是使用 角色,但应用程序未选中“强制访问检查”,因此看起来应该没有限制。但该对象不会实例化。
如何允许某个用户访问特定的 COM+ 应用程序,以便他可以从那里实例化对象?
I've created a COM+ server application and the caller can't access it - when it tries to instantiate a COM object (CoCreateInstance()
) from that application the following appears in system log:
The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID {class id of COM object here} and APPID {app id of the COM+ application here} to the user MACHINENAME\administrator SID (SID here) from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool.
The only way to tweak COM+ access seems to be using roles but the application has "enforce access checks" unchecked so it looks like there should be no restrictions. Yet the object won't instantiate.
How do I allow a certain user access a specific COM+ application so that he can instantiate objects from there?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该做的第一件事是检查是否可以在应用程序外部创建此对象。我这里使用vbscript;
如果您无法创建该对象,则 .dll 可能存在问题,最好的方法可能是从注册表中删除该组件并完全重新安装/重新实现它。
如果您可以创建该对象,则说明访问该组件的应用程序存在问题。这通常是由于以下原因之一造成的;
组件安全设置
用户设置
组件服务与注册表不匹配
如果这些都不起作用,请在注册表中搜索该组件的名称并将其删除。然后重新安装。
The first thing you should do is check to see if you can create this object outside of the application. I am using vbscript here;
If you cannot create the object, then there is probably an issue with the .dll and you might be best served just wiping the component out of the registry and completely reinstalling/reimplementing it.
If you can create the object, there is an issue with the application accessing the component. This is usually due to one of the following reasons;
Component Security settings
User settings
Mismatch between Component services and the registry
If none of this works, search the registry for the component's name and wipe it out. then reinstall.