SecurityContext クラス


キュー内のメッセージのセキュリティ コンテキストを表します。Represents the security context for a message in a queue.

public ref class SecurityContext sealed : IDisposable
public sealed class SecurityContext : IDisposable
type SecurityContext = class
    interface IDisposable
Public NotInheritable Class SecurityContext
Implements IDisposable


セキュリティコンテキストには、認証を要求するときに証明書と送信者 id をメッセージに添付するために必要な、内部証明書、対応する秘密キー、ユーザーの SID などのキャッシュされたセキュリティ情報が含まれています。The security context contains cached security information such as an internal certificate, the corresponding private key, the user's SID, needed to attach a certificate and the sender identifier to a message when requesting authentication.

ASP.NET アプリケーションなどのクライアントがユーザーを偽装してキューにメッセージを送信する場合、そのユーザーの id がキューにアクセスするために使用されます。If a client, such as an ASP.NET application, impersonates a user to send a message to a queue, the identity of the user is used to access the queue. キューがリモートの場合、これらの資格情報はキャッシュされ、その後キューに送信されるメッセージに使用されます。If the queue is remote, these credentials are cached and used for messages that are subsequently sent to the queue. そのため、後続のメッセージの SID は、キューにメッセージを送信した最初のユーザーのキャッシュされた id になります。Therefore, the SID in subsequent messages will be the cached identity of the first user that sent a message to the queue. キューにメッセージを送信した最初のユーザーのキャッシュされた id は、後続のユーザーに使用されます。The cached identity of the first user that sent a message to the queue will be used for subsequent users.

この問題を解決するには、メッセージをリモートキューに送信する前に、を使用してセキュリティコンテキストを設定し、 SecurityContext 現在のユーザーの資格情報を使用してキューにアクセスできるようにします。To overcome this problem, set the security context using SecurityContext before sending a message to a remote queue to ensure that the current user's credentials are used to gain access to the queue. ただし、推奨されるベストプラクティスは次のとおりです。However, the suggested best practice is to:

  1. キューを認証済みキューにします。Make the queue an authenticated queue.

  2. ドメイン id として ASP.NET アプリケーションを実行し、そのアプリケーションがキューに書き込むことを承認します。Run the ASP.NET application as a domain identity and authorize that application to write to the queue.

  3. キューを使用する場合は、ユーザーの権限を借用しないでください。Do not impersonate the user when using the queue. 代わりに、呼び出し元の id を取得し、ASP.NET アプリケーションで承認チェックを実行するか、メッセージの一部として呼び出し元の id を含め、受信側アプリケーションで承認チェックを実行します。Instead, get the caller's identity and either perform authorization checking in the ASP.NET application or include the caller's identity as part of the message and perform authorization checking in the receiver application.



SecurityContext によって使用されているすべてのリソースを解放します。Releases all resources used by the SecurityContext.


指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)

SecurityContext によって使用されているリソースを解放します。Releases the resources that are being used by SecurityContext.


既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)