我不是Windows安全专家。我只是想立刻解决这个问题。
我构建了一台运行在Windows 7计算机上的Windows服务,该计算机试图从另一台计算机(在同一域内)的私有msmq上接收消息。本机运行的是Windows 2003.我将Windows服务作为本地系统运行。我得到“拒绝访问消息队列系统。”作为例外。我不知道最好的解决办法是什么。
我是否应该为此服务创建一个特定帐户以在该帐户下运行并为该帐户提供必要的权限?
我应该将服务更改为在NetworkService下运行,还是类似的?
就像我之前说的那样,我不是Windows安全专家,所以任何建议都会非常感激。
由于
答案 0 :(得分:2)
这个问题的一部分是通用的非专家Windows安全性。如果要访问资源,无论是文件共享还是消息队列,都需要具有权限。队列的主机不知道Windows 7计算机本地的任何帐户。由于两台计算机位于同一个域中,因此在域帐户下运行Windows服务是有意义的。然后,您可以相应地设置队列的权限。
问题的另一部分是如何从远程队列中提取消息。这并不像你想的那么简单,如下所述:
Understanding how MSMQ security blocks RPC traffic
干杯
John Breakwell