PermissionSet Classe
Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe PermissionSet

 

Representa uma coleção que pode conter muitos tipos diferentes de permissões.

Namespace:   System.Security
Assembly:  mscorlib (em mscorlib.dll)


[SerializableAttribute]
[ComVisibleAttribute(true)]
[StrongNameIdentityPermissionAttribute(SecurityAction.InheritanceDemand, 
	Name = "mscorlib", PublicKey = "0x00000000000000000400000000000000")]
public class PermissionSet : ISecurityEncodable, ICollection, 
	IEnumerable, IStackWalk, IDeserializationCallback

NomeDescrição
System_CAPS_pubmethodPermissionSet(PermissionSet)

Inicializa uma nova instância do PermissionSet classe com valores iniciais obtido o permSet parâmetro.

System_CAPS_pubmethodPermissionSet(PermissionState)

Inicializa uma nova instância de PermissionSet classe com especificado PermissionState.

NomeDescrição
System_CAPS_pubpropertyCount

Obtém o número de objetos de permissão contidos no conjunto de permissões.

System_CAPS_pubpropertyIsReadOnly

Obtém um valor que indica se a coleção é somente leitura.

System_CAPS_pubpropertyIsSynchronized

Obtém um valor que indica se a coleção é garantida que seja thread-safe.

System_CAPS_pubpropertySyncRoot

Obtém o objeto raiz da coleção atual.

NomeDescrição
System_CAPS_pubmethodAddPermission(IPermission)

Adiciona uma permissão especificada para o PermissionSet.

System_CAPS_protmethodAddPermissionImpl(IPermission)

Adiciona uma permissão especificada para o PermissionSet.

System_CAPS_pubmethodAssert()

Declara que o código de chamada pode acessar o recurso protegido por uma demanda de permissão por meio do código que chama esse método, mesmo que os chamadores na pilha não recebeu permissão para acessar o recurso. Usando Assert pode criar vulnerabilidades de segurança.

System_CAPS_pubmethodContainsNonCodeAccessPermissions()

Obtém um valor que indica se o PermissionSet contém permissões que não são derivadas de CodeAccessPermission.

System_CAPS_pubmethodSystem_CAPS_staticConvertPermissionSet(String, Byte[], String)

Obsoleto. Esta API suporta a infraestrutura produto e não é destinada a ser usada diretamente no seu código. Converte um codificado PermissionSet de um formato de codificação de XML para outro formato de codificação XML.

System_CAPS_pubmethodCopy()

Cria uma cópia do PermissionSet.

System_CAPS_pubmethodCopyTo(Array, Int32)

Copia os objetos de permissão do conjunto para o local indicado em um Array.

System_CAPS_pubmethodDemand()

Força uma SecurityException em tempo de execução se todos os chamadores na pilha de chamadas não foram concedidos as permissões especificadas pela instância atual.

System_CAPS_pubmethodDeny()

Obsoleto.Faz com que qualquer Demand que passa pelo código de chamada para uma permissão que possui uma interseção com uma permissão de um tipo contido no atual PermissionSet falhe.

System_CAPS_pubmethodEquals(Object)

Determina se o especificado PermissionSet ou NamedPermissionSet objeto é igual a atual PermissionSet.(Substitui Object.Equals(Object).)

System_CAPS_protmethodFinalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (herdado de Object.)

System_CAPS_pubmethodFromXml(SecurityElement)

Reconstrói um objeto de segurança com um estado de uma codificação de XML especificado.

System_CAPS_pubmethodGetEnumerator()

Retorna um enumerador para as permissões do conjunto.

System_CAPS_protmethodGetEnumeratorImpl()

Retorna um enumerador para as permissões do conjunto.

System_CAPS_pubmethodGetHashCode()

Obtém um código hash para o PermissionSet objeto que é adequado para uso em algoritmos e estruturas de dados como uma tabela de hash de hash.(Substitui Object.GetHashCode().)

System_CAPS_pubmethodGetPermission(Type)

Obtém um objeto de permissão do tipo especificado, se ele existir no conjunto.

System_CAPS_protmethodGetPermissionImpl(Type)

Obtém um objeto de permissão do tipo especificado, se ele existir no conjunto.

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(herdado de Object.)

System_CAPS_pubmethodIntersect(PermissionSet)

Cria e retorna um conjunto de permissões que é a interseção do atual PermissionSet e especificado PermissionSet.

System_CAPS_pubmethodIsEmpty()

Obtém um valor que indica se o PermissionSet está vazia.

System_CAPS_pubmethodIsSubsetOf(PermissionSet)

Determina se o atual PermissionSet é um subconjunto de especificado PermissionSet.

System_CAPS_pubmethodIsUnrestricted()

Determina se o PermissionSet é Unrestricted.

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do atual Object.(herdado de Object.)

System_CAPS_pubmethodPermitOnly()

Faz com que qualquer Demand que passa pelo código de chamada por qualquer PermissionSet que é não é um subconjunto do atual PermissionSet falhe.

System_CAPS_pubmethodRemovePermission(Type)

Remove uma permissão de um determinado tipo de conjunto.

System_CAPS_protmethodRemovePermissionImpl(Type)

Remove uma permissão de um determinado tipo de conjunto.

System_CAPS_pubmethodSystem_CAPS_staticRevertAssert()

Faz com que qualquer Assert para o quadro atual a ser removido e não mais em vigor.

System_CAPS_pubmethodSetPermission(IPermission)

Define uma permissão o PermissionSet, substituindo qualquer permissão existente do mesmo tipo.

System_CAPS_protmethodSetPermissionImpl(IPermission)

Define uma permissão o PermissionSet, substituindo qualquer permissão existente do mesmo tipo.

System_CAPS_pubmethodToString()

Retorna uma representação da cadeia de PermissionSet.(Substitui Object.ToString().)

System_CAPS_pubmethodToXml()

Cria uma codificação de XML do objeto de segurança e seu estado atual.

System_CAPS_pubmethodUnion(PermissionSet)

Cria um PermissionSet que é a união do atual PermissionSet e especificado PermissionSet.

NomeDescrição
System_CAPS_pubinterfaceSystem_CAPS_privmethodIDeserializationCallback.OnDeserialization(Object)

Esta API suporta a infraestrutura produto e não é destinada a ser usada diretamente no seu código. Executa quando o gráfico de objeto inteiro tiver sido desserializado.

NomeDescrição
System_CAPS_pubmethodAsParallel()

Sobrecarregado. Permite a paralelização de uma consulta. (Definido por ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Sobrecarregado. Converte um IEnumerable para um IQueryable.(Definido por Queryable.)

System_CAPS_pubmethodCast<TResult>()

Converte os elementos de um IEnumerable para o tipo especificado.(Definido por Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtra os elementos de um IEnumerable com base em um tipo especificado.(Definido por Enumerable.)

Você pode usar PermissionSet para executar operações em várias permissões diferentes como um grupo.

O exemplo de código a seguir demonstra o uso da PermissionSet classe e membros.

// This sample demonstrates the use of the PermissionSet class.

using System;
using System.Reflection;
using System.Security.Permissions;
using System.Security;
using System.IO;
using System.Collections;

class MyClass
{
    public static void PermissionSetDemo()
    {
        Console.WriteLine("Executing PermissionSetDemo");
        try
        {
            // Open a new PermissionSet.
            PermissionSet ps1 = new PermissionSet(PermissionState.None);
            Console.WriteLine("Adding permission to open a file from a file dialog box.");
            // Add a permission to the permission set.
            ps1.AddPermission(
                new FileDialogPermission(FileDialogPermissionAccess.Open));
            Console.WriteLine("Demanding permission to open a file.");
            ps1.Demand();
            Console.WriteLine("Demand succeeded.");
            Console.WriteLine("Adding permission to save a file from a file dialog box.");
            ps1.AddPermission(
                new FileDialogPermission(FileDialogPermissionAccess.Save));
            Console.WriteLine("Demanding permission to open and save a file.");
            ps1.Demand();
            Console.WriteLine("Demand succeeded.");
            Console.WriteLine("Adding permission to read environment variable USERNAME.");
            ps1.AddPermission(
                new EnvironmentPermission(EnvironmentPermissionAccess.Read, "USERNAME"));
            ps1.Demand();
            Console.WriteLine("Demand succeeded.");
            Console.WriteLine("Adding permission to read environment variable COMPUTERNAME.");
            ps1.AddPermission(
                new EnvironmentPermission(EnvironmentPermissionAccess.Read, "COMPUTERNAME"));
            // Demand all the permissions in the set.
            Console.WriteLine("Demand all permissions.");
            ps1.Demand();
            Console.WriteLine("Demand succeeded.");
            // Display the number of permissions in the set.
            Console.WriteLine("Number of permissions = " + ps1.Count);
            // Display the value of the IsSynchronized property.
            Console.WriteLine("IsSynchronized property = " + ps1.IsSynchronized);
            // Display the value of the IsReadOnly property.
            Console.WriteLine("IsReadOnly property = " + ps1.IsReadOnly);
            // Display the value of the SyncRoot property.
            Console.WriteLine("SyncRoot property = " + ps1.SyncRoot);
            // Display the result of a call to the ContainsNonCodeAccessPermissions method.
            // Gets a value indicating whether the PermissionSet contains permissions
            // that are not derived from CodeAccessPermission.
            // Returns true if the PermissionSet contains permissions that are not
            // derived from CodeAccessPermission; otherwise, false.
            Console.WriteLine("ContainsNonCodeAccessPermissions method returned " +
                ps1.ContainsNonCodeAccessPermissions());
            Console.WriteLine("Value of the permission set ToString = \n" + ps1.ToString());
            PermissionSet ps2 = new PermissionSet(PermissionState.None);
            // Create a second permission set and compare it to the first permission set.
            ps2.AddPermission(
                new EnvironmentPermission(EnvironmentPermissionAccess.Read, "USERNAME"));
            ps2.AddPermission(
                new EnvironmentPermission(EnvironmentPermissionAccess.Write, "COMPUTERNAME"));
            IEnumerator list =  ps1.GetEnumerator();
            Console.WriteLine("Permissions in first permission set:");
            while (list.MoveNext())
                Console.WriteLine(list.Current.ToString());
            Console.WriteLine("Second permission IsSubsetOf first permission = " + ps2.IsSubsetOf(ps1));
            // Display the intersection of two permission sets.
            PermissionSet ps3 = ps2.Intersect(ps1);
            Console.WriteLine("The intersection of the first permission set and "
                + "the second permission set = " + ps3.ToString());
            // Create a new permission set.
            PermissionSet ps4 = new PermissionSet(PermissionState.None);
            ps4.AddPermission(
                new FileIOPermission(FileIOPermissionAccess.Read,
                "C:\\Temp\\Testfile.txt"));
            ps4.AddPermission(
                new FileIOPermission(FileIOPermissionAccess.Read |
                FileIOPermissionAccess.Write | FileIOPermissionAccess.Append,
                "C:\\Temp\\Testfile.txt"));
            // Display the union of two permission sets.
            PermissionSet ps5 = ps3.Union(ps4);
            Console.WriteLine("The union of permission set 3 and permission set 4 = "
                + ps5.ToString());
            // Remove FileIOPermission from the permission set.
            ps5.RemovePermission(typeof(FileIOPermission));
            Console.WriteLine("The last permission set after removing FileIOPermission = "
                + ps5.ToString());
            // Change the permission set using SetPermission.
            ps5.SetPermission(new EnvironmentPermission(EnvironmentPermissionAccess.AllAccess, "USERNAME"));
            Console.WriteLine("Permission set after SetPermission = " + ps5.ToString());
            // Display result of ToXml and FromXml operations.
            PermissionSet ps6 = new PermissionSet(PermissionState.None);
            ps6.FromXml(ps5.ToXml());
            Console.WriteLine("Result of ToFromXml = " + ps6.ToString() + "\n");
            // Display results of PermissionSet.GetEnumerator.
            IEnumerator psEnumerator = ps1.GetEnumerator();
            while (psEnumerator.MoveNext())
            {
                Console.WriteLine(psEnumerator.Current);
            }
            // Check for an unrestricted permission set.
            PermissionSet ps7 = new PermissionSet(PermissionState.Unrestricted);
            Console.WriteLine("Permission set is unrestricted = " + ps7.IsUnrestricted());
            // Create and display a copy of a permission set.
            ps7 = ps5.Copy();
            Console.WriteLine("Result of copy = " + ps7.ToString());
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message.ToString());
        }

    }


    static void Main(string[] args)
    {
        PermissionSetDemo();
    }

}

InheritanceDemand

for inheritors to be fully trusted, or in an assembly that is signed with the Microsoft T:System.Security.Policy.StrongName.

.NET Framework
Disponível desde 1.1

Qualquer estático público (Compartilhado no Visual Basic) membros desde tipo são thread safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao topo
Mostrar:
© 2016 Microsoft