我编写了一个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用户。 (原因是系统重新启动消息需要单个用户帐户添加所有消息)。
有没有办法更改哪个用户执行身份验证?
答案 0 :(得分:0)
您可以尝试使用Impersonator。如果您的应用程序在域内的计算机上运行,它可以很好地工作。如果计算机位于域外,并且无法访问AD目录,则必须使用其他内容。
以下是代码的示例:
using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
{
...
<code that executes under the new context>
...
}