受信した msmq メッセージから送信者の WindowsIdentity を取得する方法は?
トランスポートとして msmq を使用し、操作の承認には承認規則プロバイダーを使用してセキュリティ アプリケーション ブロックを使用します。ルールは特定のユーザーではなく Active Directory ユーザーのグループに付与されるため、GenericPrincipal ではなく WindowsPrincipal が必要です。Message.SenderId は SecurityIdentifier に変換できますが、そこから WindowsIdentity を取得する方法が見つかりませんでした。
void AuthorizeOperation(Message message)
{
// get sender windows principal
WindowsPrincipal principal = ... ???
// extract operation name from message body
string operation = ...
AuthorizationFactory.GetAuthorizationProvider().Authorize(principal, operation);
}