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:
Erstellen Sie das einzufügende Principal-Objekt und das zugeordnete Identity-Objekt. Dies erfolgt normalerweise nach der Authentifizierung.
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