使用备用凭据验证MSMQ消息?

时间:2010-03-10 19:44:47

标签: c# authentication msmq

我编写了一个C#应用程序,它将XML对象放入MSMQ队列。队列需要身份验证。

MessageQueue queue = GetQueue();
var message = new Message();
message.Formatter = new CustomXMLFormatter();
message.Body = xml.ToString();
message.Label = "From my application";
message.UseAuthentication = true;
queue.Send(message, MessageQueueTransactionType.Single);

今天一切正常,但现在我需要对我的身份验证方式进行更改。目前,使用运行应用程序的用户对消息进行身份验证。但是,我想使用静态AD用户。 (原因是系统重新启动消息需要单个用户帐户添加所有消息)。

有没有办法更改哪个用户执行身份验证?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Impersonator。如果您的应用程序在域内的计算机上运行,​​它可以很好地工作。如果计算机位于域外,并且无法访问AD目录,则必须使用其他内容。

以下是代码的示例:

using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
{
   ...

   <code that executes under the new context>

   ...
}