PrincipalPermission Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Achtung
Code Access Security is not supported or honored by the runtime.
Ermöglicht Überprüfungen des aktiven Prinzipals (siehe IPrincipal) mithilfe der sprachkonstrukte, die sowohl für deklarative als auch für imperative Sicherheitsaktionen definiert sind. Diese Klasse kann nicht vererbt werden.
public ref class PrincipalPermission sealed : System::Security::IPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type PrincipalPermission = class
interface IPermission
interface ISecurityEncodable
interface IUnrestrictedPermission
[<System.Serializable>]
type PrincipalPermission = class
interface IPermission
interface IUnrestrictedPermission
interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
interface IPermission
interface IUnrestrictedPermission
interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
interface IPermission
interface ISecurityEncodable
interface IUnrestrictedPermission
type PrincipalPermission = class
interface IPermission
interface ISecurityEncodable
interface IUnrestrictedPermission
Public NotInheritable Class PrincipalPermission
Implements IPermission, IUnrestrictedPermission
- Vererbung
-
PrincipalPermission
- Attribute
- Implementiert
Hinweise
Vorsicht
Code Access Security (CAS) ist in allen Versionen von .NET Framework und .NET veraltet. Aktuelle Versionen von .NET berücksichtigen keine CAS-Anmerkungen und erzeugen Fehler, wenn CAS-bezogene APIs verwendet werden. Entwickler*innen sollten alternative Mittel zum Ausführen von Sicherheitsaufgaben suchen.
Durch das Übergeben von Identitätsinformationen (Benutzername und Rolle) an den Konstruktor kann PrincipalPermission verwendet werden, um zu verlangen, dass die Identität des aktiven Principals mit diesen Informationen übereinstimmt.
Um dem aktiven IPrincipal und zugeordneten IIdentity Wert zu entsprechen, muss sowohl die angegebene Identität als auch die Rolle übereinstimmen. Wenn null eine Identitätszeichenfolge verwendet wird, wird sie als Anforderung interpretiert, um jeder Identität zu entsprechen. Die Verwendung der null Rollenzeichenfolge entspricht jeder Rolle. Durch Die Auswirkung wird der Parameter übergebennull, um namerole den Identitäts- und Rollenwert in einem beliebigen PrincipalPermissionWert zu IPrincipal erfüllen. Es ist auch möglich, ein PrincipalPermission Objekt zu erstellen, das nur bestimmt, ob dies IIdentity eine authentifizierte oder nicht authentifizierte Entität darstellt. In diesem Fall name und role werden ignoriert.
Im Gegensatz zu den meisten anderen Berechtigungen PrincipalPermission wird die Erweiterung nicht erweitert CodeAccessPermission. Die Schnittstelle wird jedoch implementiert IPermission . Dies liegt daran, dass PrincipalPermission es sich nicht um eine Codezugriffsberechtigung handelt, d. h., sie wird nicht basierend auf der Identität der ausgeführten Assembly erteilt. Stattdessen ermöglicht es Code, Aktionen (Demand, , Unionusw.) mit der aktuellen Benutzeridentität in übereinstimmung mit der Art und Weise auszuführen, Intersectwie diese Aktionen für Codezugriffs- und Codeidentitätsberechtigungen ausgeführt werden.
Important
Vor der Anforderung der Prinzipalberechtigung ist es erforderlich, die Prinzipalrichtlinie der aktuellen Anwendungsdomäne auf den Enumerationswert WindowsPrincipalfestzulegen. Standardmäßig ist die Prinzipalrichtlinie auf UnauthenticatedPrincipal. Wenn Sie die Prinzipalrichtlinie nicht auf WindowsPrincipal festlegen, schlägt eine Anforderung für die Prinzipalberechtigung fehl. Der folgende Code sollte ausgeführt werden, bevor die Prinzipalberechtigung angefordert wird:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).
Konstruktoren
| Name | Beschreibung |
|---|---|
| PrincipalPermission(PermissionState) |
Veraltet.
Initialisiert eine neue Instanz der PrincipalPermission Klasse mit dem angegebenen PermissionState. |
| PrincipalPermission(String, String, Boolean) |
Veraltet.
Initialisiert eine neue Instanz der PrincipalPermission Klasse für den angegebenen |
| PrincipalPermission(String, String) |
Veraltet.
Initialisiert eine neue Instanz der PrincipalPermission Klasse für die angegebene |
Methoden
| Name | Beschreibung |
|---|---|
| Copy() |
Veraltet.
Erstellt und gibt eine identische Kopie der aktuellen Berechtigung zurück. |
| Demand() |
Veraltet.
Bestimmt zur Laufzeit, ob der aktuelle Prinzipal dem von der aktuellen Berechtigung angegebenen Prinzipal entspricht. |
| Equals(Object) |
Veraltet.
Bestimmt, ob das angegebene PrincipalPermission Objekt dem aktuellen PrincipalPermissionentspricht. |
| Equals(Object) |
Veraltet.
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| FromXml(SecurityElement) |
Veraltet.
Rekonstruiert eine Berechtigung mit einem angegebenen Zustand aus einer XML-Codierung. |
| GetHashCode() |
Veraltet.
Ruft einen Hashcode für das PrincipalPermission Objekt ab, das für die Verwendung in Hashingalgorithmen und Datenstrukturen wie einer Hashtabelle geeignet ist. |
| GetHashCode() |
Veraltet.
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Veraltet.
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| Intersect(IPermission) |
Veraltet.
Erstellt und gibt eine Berechtigung zurück, die die Schnittmenge der aktuellen Berechtigung und die angegebene Berechtigung darstellt. |
| IsSubsetOf(IPermission) |
Veraltet.
Bestimmt, ob die aktuelle Berechtigung eine Teilmenge der angegebenen Berechtigung ist. |
| IsUnrestricted() |
Veraltet.
Gibt einen Wert zurück, der angibt, ob die aktuelle Berechtigung uneingeschränkt ist. |
| MemberwiseClone() |
Veraltet.
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Veraltet.
Erstellt und gibt eine Zeichenfolge zurück, die die aktuelle Berechtigung darstellt. |
| ToXml() |
Veraltet.
Erstellt eine XML-Codierung der Berechtigung und des aktuellen Zustands. |
| Union(IPermission) |
Veraltet.
Erstellt eine Berechtigung, die die Union der aktuellen Berechtigung und der angegebenen Berechtigung ist. |