2012-02-22 95 views
1

我已经创建了一个私人MSMQ,我可以发送消息给它。我现在想要做的是仅允许单个用户访问队列,然后使用该用户凭证将消息发送到该队列。MSMQ的安全通信

我正在考虑在发送消息之前模拟用户(我有一个模拟类),但不知道如何执行此操作。

什么是最好的方法来做到这一点的任何想法。

哦!我正在使用C#。

+0

使用标准的Windows安全性。用鼠标右键单击队列,属性,安全选项卡。可以为每个用户帐户分配“发送”和“接收”权限。假冒没有意义。 – 2012-02-22 12:33:04

回答

1

什么用户将运行可执行文件?您可以简单地让该用户访问队列,并完全避免模仿。

当您试图运行不同的代码片段时,冒充通常很有用几个不同的用户。如果你不需要几个用户,根本不用担心假冒。

+0

所以说我有2个用户,一个可以发送消息到队列中,一个可以发送和接收。给这两个用户和这两个用户提供这些权限是否容易? – Nollaig 2012-02-22 10:08:37

+0

它应该是,你只需在队列上设置适当的权限。 – zmbq 2012-02-22 10:47:00

+0

重要说明如果您确实想要保护队列。 MSMQ只是在一条消息中发送用户帐户的SID,这个消息很容易被任何有权访问网络的人所欺骗。如果可以,请使用认证/证书。 – 2012-02-23 13:07:37