Freigeben über


Ersetzen eines Principalobjekts

Anwendungen, die Authentifizierungsdienste bereit stellen, müssen das Principal-Objekt für einen vorhandenen Thread ersetzen können. Darüber hinaus muss das Sicherheitssystem verhindern, dass das Principal durch ein in böswilliger Absicht angefügtes oder falsches Principal-Objekt ersetzt wird, da die Angabe einer falschen Identität oder Rolle die Sicherheit der Anwendung beeinträchtigt. Anwendungen, die das Principal-Objekt ersetzen müssen, muss daher das System.Security.Permissions.SecurityPermission-Objekt für die Steuerung des Principals gewährt werden. (Beachten Sie, dass diese Berechtigung nicht bei Überprüfungen für die rollenbasierte Sicherheit oder für das Erstellen von Principal-Objekten erforderlich ist).

Das aktuelle Principal-Objekt kann durch die folgenden Schritte ersetzt werden:

  1. Erstellen Sie das einzufügende Principal-Objekt und das zugeordnete Identity-Objekt. Dies erfolgt normalerweise nach der Authentifizierung.

  2. Fügen Sie das neue Principal-Objekt an den Aufrufkontext an, wie im folgenden Code dargestellt.

    Thread.CurrentPrincipal = principalObject;
    
    Thread.CurrentPrincipal = principalObject
    

Siehe auch

Referenz

System.Security.Permissions.SecurityPermission

Konzepte

Principal- und Identitätsobjekte