Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe CodeAccessSecurityAttribute

 

Data di pubblicazione: novembre 2016

Specifica la classe attribute di base per la sicurezza dall'accesso di codice.

Spazio dei nomi:   System.Security.Permissions
Assembly:  mscorlib (in mscorlib.dll)

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

[SerializableAttribute]
[AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method, 
	AllowMultiple = true, Inherited = false)]
[ComVisibleAttribute(true)]
public abstract class CodeAccessSecurityAttribute : SecurityAttribute

NomeDescrizione
System_CAPS_protmethodCodeAccessSecurityAttribute(SecurityAction)

Inizializza una nuova istanza della CodeAccessSecurityAttribute con l'oggetto specificato SecurityAction.

NomeDescrizione
System_CAPS_pubpropertyAction

Ottiene o imposta un'azione di sicurezza.(Ereditato da SecurityAttribute.)

System_CAPS_pubpropertyTypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.(Ereditato da Attribute.)

System_CAPS_pubpropertyUnrestricted

Ottiene o imposta un valore che indica se è stata dichiarata l'autorizzazione completa (senza restrizioni) alla risorsa protetta dall'attributo.(Ereditato da SecurityAttribute.)

NomeDescrizione
System_CAPS_pubmethodCreatePermission()

Quando sottoposto a override in una classe derivata, crea un oggetto autorizzazione che può essere serializzato in formato binario e memorizzato in modo permanente insieme al SecurityAction nei metadati dell'assembly.(Ereditato da SecurityAttribute.)

System_CAPS_pubmethodEquals(Object)

Questa API supporta l'infrastruttura prodotto e non può essere usata direttamente dal codice. Restituisce un valore che indica se questa istanza è uguale ad un oggetto specificato. (Ereditato da Attribute.)

System_CAPS_protmethodFinalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Restituisce il codice hash per questa istanza. (Ereditato da Attribute.)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_pubmethodIsDefaultAttribute()

Quando viene eseguito l'override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute.)

System_CAPS_pubmethodMatch(Object)

Quando viene eseguito l'override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute.)

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

NomeDescrizione
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un corrispondente set di identificatori di dispatch. (Ereditato da Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sui tipi per un oggetto, che possono essere utilizzate per ottenere informazioni sul tipo per un'interfaccia. (Ereditato da Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero di interfacce di informazioni sui tipi che un oggetto fornisce (0 o 1). (Ereditato da Attribute.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso alle proprietà ed ai metodi esposti da un oggetto. (Ereditato da Attribute.)

Questa classe di attributo associa un SecurityAction, ad esempio, Demand, con un attributo di sicurezza personalizzato.

I tipi che derivano da CodeAccessSecurityAttribute vengono utilizzati per limitare l'accesso alle risorse o alle operazioni.

Le informazioni di sicurezza dichiarate da un attributo di sicurezza viene archiviate nei metadati dell'attributo di destinazione e si accedono dal sistema in fase di esecuzione. Gli attributi di sicurezza vengono utilizzati solo per la protezione dichiarativa. Utilizzare la classe di autorizzazioni corrispondente derivata da CodeAccessPermission per la sicurezza imperativa.

Note per gli eredi:

Tutti gli attributi di autorizzazione derivati da questa classe devono avere solo un singolo costruttore che accetta un SecurityAction come unico parametro.

Nell'esempio seguente viene illustrato un attributo di autorizzazione derivato dalla 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
Disponibile da 1.1
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: