SecurityContext SecurityContext SecurityContext SecurityContext Class

Definition

Stellt den Sicherheitskontext für eine Meldung in einer Warteschlange dar.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
Vererbung
SecurityContextSecurityContextSecurityContextSecurityContext
Implementiert

Hinweise

Der Sicherheitskontext enthält zwischengespeicherte Sicherheitsinformationen, wie z. b. ein internes Zertifikat, den entsprechenden privaten Schlüssel, die SID des Benutzers, der zum Anfügen eines Zertifikats und des Absender Bezeichners an eine Nachricht bei der Anforderung der Authentifizierung erforderlich ist.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.

Wenn ein Client, z. b. eine ASP.NET-Anwendung, die Identität eines Benutzers annimmt, um eine Nachricht an eine Warteschlange zu senden, wird die Identität des Benutzers für den Zugriff auf die Warteschlange verwendet.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. Wenn die Warteschlange Remote ist, werden diese Anmelde Informationen zwischengespeichert und für Nachrichten verwendet, die anschließend an die Warteschlange gesendet werden.If the queue is remote, these credentials are cached and used for messages that are subsequently sent to the queue. Daher ist die SID in nachfolgenden Nachrichten die zwischengespeicherte Identität des ersten Benutzers, der eine Nachricht an die Warteschlange gesendet hat.Therefore, the SID in subsequent messages will be the cached identity of the first user that sent a message to the queue. Die zwischengespeicherte Identität des ersten Benutzers, der eine Nachricht an die Warteschlange gesendet hat, wird für nachfolgende Benutzer verwendet.The cached identity of the first user that sent a message to the queue will be used for subsequent users.

Um dieses Problem zu beheben, legen Sie den Sicherheits SecurityContext Kontext mithilfe von vor dem Senden einer Nachricht an eine Remote Warteschlange fest, um sicherzustellen, dass die Anmelde Informationen des aktuellen Benutzers verwendet werden, um auf die Warteschlange zuzugreifenTo 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. Es wird jedoch empfohlen, Folgendes zu tun:However, the suggested best practice is to:

  1. Stellen Sie die Warteschlange in eine authentifizierte Warteschlange.Make the queue an authenticated queue.

  2. Führen Sie die Anwendung ASP.net als Domänen Identität aus, und autorisieren Sie diese Anwendung, in die Warteschlange zu schreiben.Run the ASP.NET application as a domain identity and authorize that application to write to the queue.

  3. Nehmen Sie die Identität des Benutzers nicht an, wenn Sie die Warteschlange verwenden.Do not impersonate the user when using the queue. Verwenden Sie stattdessen die Identität des Aufrufers, und führen Sie entweder eine Autorisierungs Überprüfung in der ASP.NET-Anwendung aus, oder fügen Sie die Identität des Aufrufers als Teil der Nachricht ein, und führen Sie die Autorisierungs ÜberprüfungInstead, 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.

Methoden

Dispose() Dispose() Dispose() Dispose()

Gibt alle vom SecurityContext verwendeten Ressourcen frei.Releases all resources used by the SecurityContext.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für: