3
如何從收到MSMQ消息發送者的WindowsIdentity?如何從收到MSMQ消息讓發件人的WindowsIdentity?
我使用MSMQ作爲傳輸和操作的權限的安全應用項目與座授權規則提供商。我需要WindowsPrincipal而不是GenericPrincipal,因爲規則授予活動目錄用戶組而不是特定用戶。 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);
}
請注意,SenderId很容易在消息中被欺騙,所以依賴它的安全性很差。 –