Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
NamedPermissionSet-Klasse
Definiert einen Berechtigungssatz, dem ein Name und eine Beschreibung zugeordnet sind. Diese Klasse kann nicht vererbt werden.
Assembly: mscorlib (in mscorlib.dll)
Der NamedPermissionSet-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
NamedPermissionSet(NamedPermissionSet) | Initialisiert eine neue Instanz der NamedPermissionSet-Klasse aus einem anderen benannten Berechtigungssatz. |
|
NamedPermissionSet(String) | Initialisiert eine neue, leere Instanz der NamedPermissionSet-Klasse mit dem angegebenen Namen. |
|
NamedPermissionSet(String, PermissionState) | Initialisiert eine neue Instanz der NamedPermissionSet-Klasse mit dem angegebenen Namen in einem uneingeschränkten oder einem vollständig eingeschränkten Zustand. |
|
NamedPermissionSet(String, PermissionSet) | Initialisiert eine neue Instanz der NamedPermissionSet-Klasse mit dem angegebenen Namen aus einem Berechtigungssatz. |
| Name | Beschreibung | |
|---|---|---|
|
Count | Ruft die Anzahl der im Berechtigungssatz enthaltenen Berechtigungsobjekte ab. (Von PermissionSet geerbt.) |
|
Description | Ruft die Textbeschreibung des aktuellen benannten Berechtigungssatzes ab oder legt diese fest. |
|
IsReadOnly | Ruft einen Wert ab, der angibt, ob die Auflistung schreibgeschützt ist. (Von PermissionSet geerbt.) |
|
IsSynchronized | Ruft einen Wert ab, der angibt, ob die Threadsicherheit der Auflistung gewährleistet ist. (Von PermissionSet geerbt.) |
|
Name | Ruft den Namen des aktuellen benannten Berechtigungssatzes ab oder legt diesen fest. |
|
SyncRoot | Ruft das Stammobjekt der aktuellen Auflistung ab. (Von PermissionSet geerbt.) |
| Name | Beschreibung | |
|---|---|---|
|
AddPermission | Fügt dem PermissionSet eine angegebene Berechtigung hinzu. (Von PermissionSet geerbt.) |
|
AddPermissionImpl | Fügt dem PermissionSet eine angegebene Berechtigung hinzu. (Von PermissionSet geerbt.) |
|
Assert | Deklariert, dass der aufrufende Code selbst dann auf die durch eine Berechtigungsanforderung geschützte Ressource über den diese Methode aufrufenden Code zugreifen kann, wenn übergeordnete Aufrufer in der Aufrufliste keine Zugriffsberechtigung für die Ressource besitzen. Die Verwendung von Assert kann zu Sicherheitsrisiken führen. (Von PermissionSet geerbt.) |
|
ContainsNonCodeAccessPermissions | Ruft einen Wert ab, der angibt, ob das PermissionSet Berechtigungen enthält, die nicht von CodeAccessPermission abgeleitet sind. (Von PermissionSet geerbt.) |
|
Copy() | Erstellt aus einem benannten Berechtigungssatz eine Kopie eines Berechtigungssatzes. (Überschreibt PermissionSet.Copy().) |
|
Copy(String) | Erstellt unter einem anderen Namen eine Kopie des benannten Berechtigungssatzes mit denselben Berechtigungen. |
|
CopyTo | Kopiert die Berechtigungsobjekte des Satzes an die angegebene Position in einem Array. (Von PermissionSet geerbt.) |
|
Demand | Erzwingt zur Laufzeit eine SecurityException, wenn keinem der übergeordneten Aufrufer im Aufrufstapel die von der aktuellen Instanz angegebenen Berechtigungen gewährt wurden. (Von PermissionSet geerbt.) |
|
Deny | Veraltet. Führt zum Fehlschlagen jedes Demand, das den aufrufenden Code für eine Berechtigung durchläuft, die eine Schnittmenge mit einer Berechtigung des im aktuellen PermissionSet enthaltenen Typs aufweist. (Von PermissionSet geerbt.) |
|
Equals | Bestimmt, ob das angegebene NamedPermissionSet-Objekt und das aktuelle NamedPermissionSet-Objekt gleich sind. (Überschreibt PermissionSet.Equals(Object).) |
|
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.) |
|
FromXml | Rekonstruiert aus einer XML-Codierung einen benannten Berechtigungssatz mit einem angegebenen Zustand. (Überschreibt PermissionSet.FromXml(SecurityElement).) |
|
GetEnumerator | Gibt einen Enumerator für die Berechtigungen des Satzes zurück. (Von PermissionSet geerbt.) |
|
GetEnumeratorImpl | Gibt einen Enumerator für die Berechtigungen des Satzes zurück. (Von PermissionSet geerbt.) |
|
GetHashCode | Ruft einen Hashcode für das NamedPermissionSet-Objekt ab, das für die Verwendung in Hashalgorithmen und Datenstrukturen wie Hashtabellen geeignet ist. (Überschreibt PermissionSet.GetHashCode().) |
|
GetPermission | Ruft ein Berechtigungsobjekt des angegebenen Typs ab, sofern dieses im Berechtigungssatz vorhanden ist. (Von PermissionSet geerbt.) |
|
GetPermissionImpl | Ruft ein Berechtigungsobjekt des angegebenen Typs ab, sofern dieses im Berechtigungssatz vorhanden ist. (Von PermissionSet geerbt.) |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
Intersect | Erstellt einen Berechtigungssatz, der die Schnittmenge des aktuellen PermissionSet und des angegebenen PermissionSet darstellt, und gibt diesen zurück. (Von PermissionSet geerbt.) |
|
IsEmpty | Ruft einen Wert ab, der angibt, ob das PermissionSet leer ist. (Von PermissionSet geerbt.) |
|
IsSubsetOf | Bestimmt, ob das aktuelle PermissionSet eine Teilmenge des angegebenen PermissionSet ist. (Von PermissionSet geerbt.) |
|
IsUnrestricted | Bestimmt, ob das PermissionSetUnrestricted ist. (Von PermissionSet geerbt.) |
|
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
PermitOnly | Führt zum Fehlschlagen jedes Demand, der den aufrufenden Code für jedes PermissionSet durchläuft, das keine Teilmenge des aktuellen PermissionSet ist. (Von PermissionSet geerbt.) |
|
RemovePermission | Entfernt eine Berechtigung eines bestimmten Typs aus dem Berechtigungssatz. (Von PermissionSet geerbt.) |
|
RemovePermissionImpl | Entfernt eine Berechtigung eines bestimmten Typs aus dem Berechtigungssatz. (Von PermissionSet geerbt.) |
|
SetPermission | Legt eine Berechtigung für das PermissionSet fest und ersetzt dabei vorhandene Berechtigungen desselben Typs. (Von PermissionSet geerbt.) |
|
SetPermissionImpl | Legt eine Berechtigung für das PermissionSet fest und ersetzt dabei vorhandene Berechtigungen desselben Typs. (Von PermissionSet geerbt.) |
|
ToString | Gibt eine Zeichenfolgenentsprechung des PermissionSet zurück. (Von PermissionSet geerbt.) |
|
ToXml | Erstellt eine XML-Elementdarstellung des benannten Berechtigungssatzes. (Überschreibt PermissionSet.ToXml().) |
|
Union | Erstellt ein PermissionSet, bei dem es sich um die Gesamtmenge des aktuellen PermissionSet und des angegebenen PermissionSet handelt. (Von PermissionSet geerbt.) |
| Name | Beschreibung | |
|---|---|---|
|
IDeserializationCallback.OnDeserialization | Infrastruktur. Wird ausgeführt, wenn ein vollständiges Objektdiagramm deserialisiert worden ist. (Von PermissionSet geerbt.) |
Mit benannten Berechtigungssätzen werden bei der Verwaltung von Sicherheitsrichtlinien die Berechtigungen angegeben, die einem Code einer bestimmten Codegruppe gewährt werden. Namen sind Zeichenfolgen aus alphanumerischen Zeichen. Beschreibungszeichenfolgen können beliebige druckbare Zeichen enthalten. Weitere Informationen finden Sie unter Benannte Berechtigungssätze.
Im folgenden Codebeispiel wird die Verwendung von Membern der NamedPermissionSet-Klasse veranschaulicht.
using System; using System.Reflection; using System.Security; using System.Security.Permissions; using System.Security.Policy; using System.IO; using System.Collections; class NamedPermissionSetDemo { public static void PermissionSetDemo() { Console.WriteLine("Executing NamedPermissionSetDemo"); try { // Create a new named permission set and add it to Machine policy. NamedPermissionSet namedPS1 = CreateCompanyPermission(); Console.WriteLine("The name of the custom named permission set is " + namedPS1.Name + "\n"); Console.WriteLine("The description of the custom named permission set is " + namedPS1.Description + "\n"); DisplayPermissions(namedPS1); NamedPermissionSet namedPS2 = new NamedPermissionSet("MyPermssionSetCopy"); // Perform a ToXml/FromXml round trip. namedPS2.FromXml(namedPS1.ToXml()); Console.WriteLine("\nResult of the ToXml/FromXml round trip:"); // For simplicity the results are displayed using a method call. DisplayPermissions(namedPS2); // Create and display a copy of a permission set. NamedPermissionSet namedPS3 = (NamedPermissionSet)namedPS2.Copy(); Console.WriteLine("Is the copy equal to the original? " + namedPS2.Equals(namedPS3)); NamedPermissionSet namedPS4 = new NamedPermissionSet("Second copy", namedPS3); Console.WriteLine("The name of the new permission set is " + namedPS4.Name + "\n"); // Show that the new named permission set has the same permissions as the original. DisplayPermissions(namedPS4); // The hash code for two instances of the same permission might be different, hence a hash code should not be used to // compare two named permission sets. Console.WriteLine("The hash code of the original permission set is " + namedPS2.GetHashCode()); Console.WriteLine("The hash code of the copy is " + namedPS4.GetHashCode()); } catch (Exception e) { Console.WriteLine("Exception thrown: " + e.Message.ToString()); } } public static bool DisplayPermissions(NamedPermissionSet namedPS1) { // Display results of namedPS.GetEnumerator. IEnumerator psEnumerator = namedPS1.GetEnumerator(); while (psEnumerator.MoveNext()) { Console.WriteLine(psEnumerator.Current); } return true; } // The following method uses the LocalIntranet permission set to create // a custom permission set named MyCompany. The new permission set is // added to local Machine policy. The custom named permission set is returned. private static NamedPermissionSet CreateCompanyPermission() { IEnumerator policyEnumerator = SecurityManager.PolicyHierarchy(); // Move through the policy levels to the Machine policy level. while (policyEnumerator.MoveNext()) { PolicyLevel currentLevel = (PolicyLevel)policyEnumerator.Current; if (currentLevel.Label == "Machine") { // Enumerate the permission sets in the Machine policy level. IList namedPermissions = currentLevel.NamedPermissionSets; IEnumerator namedPermission = namedPermissions.GetEnumerator(); // Locate the LocalIntranet permission set. while (namedPermission.MoveNext()) { if (((NamedPermissionSet)namedPermission.Current).Name == "LocalIntranet") { // The current permission set is a copy of the LocalIntranet permission set. // It can be modified to provide the permissions for the new permission set. // Rename the copy to the name chosen for the new permission set. ((NamedPermissionSet)namedPermission.Current).Name = "MyCompany"; ((NamedPermissionSet)namedPermission.Current).Description = "My custom named permission set"; IEnumerator permissions = ((NamedPermissionSet)namedPermission.Current).GetEnumerator(); // Remove the current security permission from the permission set and replace it // with a new security permission that does not have the right to assert permissions. while (permissions.MoveNext()) { if (permissions.Current.GetType().ToString() == "System.Security.Permissions.SecurityPermission") { // Remove the current security permission. ((NamedPermissionSet)namedPermission.Current).RemovePermission(permissions.Current.GetType()); // Add a new security permission that only allows execution. ((NamedPermissionSet)namedPermission.Current).AddPermission(new SecurityPermission(SecurityPermissionFlag.Execution)); break; } } try { // If you run this application twice, the following instruction throws // an exception because the named permission set already exists. // You can remove the custom named permission set using either Caspole.exe or the // .NET Framework Configuration tool (Mscorcfg.msc). currentLevel.AddNamedPermissionSet(((NamedPermissionSet)namedPermission.Current)); SecurityManager.SavePolicy(); return (NamedPermissionSet)namedPermission.Current; } // Catch the exception for a duplicate permission set. catch (System.ArgumentException e) { Console.WriteLine(e.Message + "\n"); return (NamedPermissionSet)namedPermission.Current; } } } } } // The following code is executed only if the LocalIntranet permission set has been removed. return new NamedPermissionSet("Nothing"); } // Test harness. static void Main(string[] args) { PermissionSetDemo(); Console.WriteLine("Press any key to exit."); Console.Read(); } }
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.