【问题标题】:MSMQ Access DeniedMSMQ 访问被拒绝
【发布时间】:2009-08-28 23:03:02
【问题描述】:

我正在尝试访问队列并收到拒绝访问错误。令人困惑的部分是队列设置为允许所有人完全控制以及匿名和 machinename$(所有三个都是完全控制 - 这是一个测试系统,所以没什么大不了的)。我能够成功写入队列,但无法从中窥视/读取/接收。我在这里发现一篇文章建议使用 FormatName 方法,但不幸的是我已经在这样做了。

问题是我的系统位于一个 AD 域上,而测试服务器完全针对另一个域(我的客户端)运行。我想用这个来完成不可能的事情吗?

我的平台是 Vista x64,服务器是 2008(不是 R2)。

代码如下所示:

    Do While Not m_boolCancel

        '**Code dies on this line**
        l_ar = m_mq.BeginPeek

        'block thread till message arrived or shutdown is signalled
        If WaitHandle.WaitAny(New WaitHandle() {m_sig, l_ar.AsyncWaitHandle}) > 0 Then

            l_msg = m_mq.EndPeek(l_ar)

            If l_msg IsNot Nothing Then

                'doing stuff here

            End If

            Exit Do
        End If

【问题讨论】:

    标签: .net security msmq


    【解决方案1】:

    要使 MSMQ 跨域工作,相关域必须建立双向信任。消息队列必须是公共队列。如果您将其设置为事务队列,则客户端和服务器都必须使用 MSMQ 4.0(windows server 2008 及更高版本的一部分)

    【讨论】:

    • 啊,我们没有信任,但这确实很有意义。因此,即使我将其设置为公共队列,我仍然需要信任吗?我正在使用 Vista -> Server 2008,所以我应该已经在 MSMQ 4.0 上。
    • 定义公共队列的信息存储在 Active Directory 中托管队列的计算机对象下。 MSMQ 依靠 kerberos 来确保安全性。
    • 有什么方法可以禁用安全性吗?队列只是内部的,因此无论如何都没有任何未经授权的人访问它们的风险。
    • 我不知道,但是,MSMQ 可以配置为通过 http 进行通信,但我没有尝试过。
    【解决方案2】:

    只是为了测试给匿名的完全控制权。

    【讨论】:

    • 我做到了 - 匿名,每个人,系统和 server$(其中 server 是计算机名称)都具有完全控制权。上面没有列出其他权限,但仍然是同样的错误。
    【解决方案3】:

    检查客户端和服务器之间的时钟:时间跨度太大可能会导致“访问被拒绝”。

    【讨论】:

      【解决方案4】:

      除非您使用域进行身份验证,否则系统位于不同的域上应该不是问题。当您给予“系统”完全控制权时会发生什么?请编辑您的问题以包含您用于打开队列的代码以及如果这不能解决问题,您收到的确切错误。

      【讨论】:

      • 我编辑了帖子以包含代码。我还尝试将具有完全控制权的系统添加到有问题的队列中,但没有运气。
      • 你能在你实际构造 m_mq 的地方包含代码吗?你在哪里分配队列路径,然后告诉它打开它?
      • 嗯...不是真的。代码如下所示: m_mq = New MessageQueue(Me.ManagerConfiguration.RequestQueue) m_sig = New Threading.AutoResetEvent(False) ManagerConfiguration.RequestQueue 是一个字符串,这就是我的“FormatName”条目所在的位置。如果我直接在服务器上运行代码,它就可以完美运行 - 只有当我远程连接时它才会死掉。
      猜你喜欢
      • 1970-01-01
      • 2012-10-16
      • 2014-11-14
      • 1970-01-01
      • 2014-08-10
      • 2021-03-06
      • 2011-05-15
      • 2010-09-06
      • 2014-03-22
      相关资源
      最近更新 更多