Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Classe CodeAccessSecurityAttribute

Especifica a classe de atributo base para a segurança de acesso do código.

System.Object
  System.Attribute
    System.Security.Permissions.SecurityAttribute
      System.Security.Permissions.CodeAccessSecurityAttribute
        Mais...

Namespace:  System.Security.Permissions
Assembly:  mscorlib (em mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple = true, 
	Inherited = false)]
public abstract class CodeAccessSecurityAttribute : SecurityAttribute

O tipo CodeAccessSecurityAttribute expõe os membros a seguir.

  NomeDescrição
Método protegidoCodeAccessSecurityAttributeInicializa uma nova instância de CodeAccessSecurityAttribute com a versão especificada SecurityAction.
Superior
  NomeDescrição
Propriedade públicaActionObtém ou define uma ação de segurança. (Herdado de SecurityAttribute.)
Propriedade públicaTypeId Quando implementada em uma classe derivada, obtém um identificador exclusivo para este atributo. (Herdado de Attribute.)
Propriedade públicaUnrestrictedObtém ou define um valor indicando se a permissão (irrestrito) total ao recurso protegido pelo atributo é declarado. (Herdado de SecurityAttribute.)
Superior
  NomeDescrição
Método públicoCreatePermissionQuando substituído em uma classe derivada, cria um objeto de permissão que possa ser serializado em forma binária e persistentemente armazenado juntamente com o SecurityAction nos metadados do conjunto. (Herdado de SecurityAttribute.)
Método públicoEqualsInfraestrutura. Retorna um valor que indica se essa instância é igual a um objeto especificado. (Herdado de Attribute.)
Método protegidoFinalize 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.)
Método públicoGetHashCode Retorna o hash code para essa instância. (Herdado de Attribute.)
Método públicoGetType Obtém o Type da instância atual. (Herdado de Object.)
Método públicoIsDefaultAttributeQuando substituído em uma classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute.)
Método públicoMatchQuando substituído em uma classe derivada, retorna um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute.)
Método protegidoMemberwiseCloneCria uma cópia superficial do Object atual. (Herdado de Object.)
Método públicoToStringRetorna uma string que representa o objeto atual. (Herdado de Object.)
Superior
  NomeDescrição
Implementação explícita da interfaceMétodo particular_Attribute.GetIDsOfNamesMapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute.)
Implementação explícita da interfaceMétodo particular_Attribute.GetTypeInfoRecupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute.)
Implementação explícita da interfaceMétodo particular_Attribute.GetTypeInfoCountRecupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute.)
Implementação explícita da interfaceMétodo particular_Attribute.InvokeFornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute.)
Superior

Esta classe de atributo associa um SecurityAction, por exemplo, Demand, com um atributo de segurança personalizado.

Os tipos que derivam de CodeAccessSecurityAttribute são usados para ajudar a restringir o acesso a recursos ou operações que podem ser protegidas.

As informações de segurança declaradas por um atributo de segurança são armazenadas nos metadados do destino de atributo e são acessadas pelo sistema em tempo de execução. Atributos de segurança são usados apenas para a segurança declarativa. Use a classe de permissão correspondente é derivada de CodeAccessPermission para segurança imperativa.

Observações para herdeiros

Todos os atributos de permissão derivados dessa classe devem ter apenas um único construtor que leva um SecurityAction como seu único parâmetro.

O exemplo a seguir mostra um atributo de permissão derivado de CodeAccessSecurityAttribute classe.


using System;
using System.IO;
using System.Runtime.Remoting;
using System.Security;
using System.Security.Permissions;
using System.Reflection;
using MyPermission;
// Use the command line option '/keyfile' or appropriate project settings to sign this assembly.
[assembly: System.Security.AllowPartiallyTrustedCallersAttribute ()]

namespace MyPermissionAttribute
{
    [AttributeUsage (AttributeTargets.Method | AttributeTargets.Constructor | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Assembly, AllowMultiple = true, Inherited = false)]
    [Serializable]
    sealed public class  NameIdPermissionAttribute : CodeAccessSecurityAttribute
    {
        private String m_Name = null;
        private bool m_unrestricted = false;

        public  NameIdPermissionAttribute (SecurityAction action): base( action )
        {
        }

        public String Name
        {
            get { return m_Name; }
            set { m_Name = value; }
        }

        public override IPermission CreatePermission ()
        {
            if (m_unrestricted)
            {
                throw new ArgumentException ("Unrestricted permissions not allowed in identity permissions.");
            }
            else
            {
                if (m_Name == null)
                    return new  NameIdPermission (PermissionState.None);

                return new  NameIdPermission (m_Name);
            }
        }
    }
}


.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.
Qualquer estático (Shared no Visual Basic) membro público desse tipo é thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
System.Object
  System.Attribute
    System.Security.Permissions.SecurityAttribute
      System.Security.Permissions.CodeAccessSecurityAttribute
        System.Configuration.ConfigurationPermissionAttribute
        System.Data.Common.DBDataPermissionAttribute
        System.Data.OracleClient.OraclePermissionAttribute
        System.Diagnostics.EventLogPermissionAttribute
        System.Diagnostics.PerformanceCounterPermissionAttribute
        System.DirectoryServices.DirectoryServicesPermissionAttribute
        System.Drawing.Printing.PrintingPermissionAttribute
        System.IdentityModel.Services.ClaimsPrincipalPermissionAttribute
        System.Messaging.MessageQueuePermissionAttribute
        System.Net.DnsPermissionAttribute
        System.Net.Mail.SmtpPermissionAttribute
        System.Net.NetworkInformation.NetworkInformationPermissionAttribute
        System.Net.PeerToPeer.Collaboration.PeerCollaborationPermissionAttribute
        System.Net.PeerToPeer.PnrpPermissionAttribute
        System.Net.SocketPermissionAttribute
        System.Net.WebPermissionAttribute
        System.Security.Permissions.DataProtectionPermissionAttribute
        System.Security.Permissions.EnvironmentPermissionAttribute
        System.Security.Permissions.FileDialogPermissionAttribute
        System.Security.Permissions.FileIOPermissionAttribute
        System.Security.Permissions.GacIdentityPermissionAttribute
        System.Security.Permissions.HostProtectionAttribute
        System.Security.Permissions.IsolatedStoragePermissionAttribute
        System.Security.Permissions.KeyContainerPermissionAttribute
        System.Security.Permissions.MediaPermissionAttribute
        System.Security.Permissions.PermissionSetAttribute
        System.Security.Permissions.PrincipalPermissionAttribute
        System.Security.Permissions.PublisherIdentityPermissionAttribute
        System.Security.Permissions.ReflectionPermissionAttribute
        System.Security.Permissions.RegistryPermissionAttribute
        System.Security.Permissions.SecurityPermissionAttribute
        System.Security.Permissions.SiteIdentityPermissionAttribute
        System.Security.Permissions.StorePermissionAttribute
        System.Security.Permissions.StrongNameIdentityPermissionAttribute
        System.Security.Permissions.TypeDescriptorPermissionAttribute
        System.Security.Permissions.UIPermissionAttribute
        System.Security.Permissions.UrlIdentityPermissionAttribute
        System.Security.Permissions.WebBrowserPermissionAttribute
        System.Security.Permissions.ZoneIdentityPermissionAttribute
        System.ServiceProcess.ServiceControllerPermissionAttribute
        System.Transactions.DistributedTransactionPermissionAttribute
        System.Web.AspNetHostingPermissionAttribute
Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.