Esporta (0) Stampa
Espandi tutto

Classe SiteIdentityPermissionAttribute

Aggiornamento: novembre 2007

Consente di applicare al codice azioni di sicurezza per l'oggetto SiteIdentityPermission utilizzando la sicurezza dichiarativa. La classe non può essere ereditata.

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple = true, 
	Inherited = false)]
public sealed class SiteIdentityPermissionAttribute : CodeAccessSecurityAttribute
/** @attribute SerializableAttribute */ 
/** @attribute ComVisibleAttribute(true) */
/** @attribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple = true, Inherited = false) */
public final class SiteIdentityPermissionAttribute extends CodeAccessSecurityAttribute
public final class SiteIdentityPermissionAttribute extends CodeAccessSecurityAttribute

L'identità del sito è definita solo per il codice degli URL con i protocolli HTTP, HTTPS e FTP. Un sito è la stringa compresa tra le barre "//" dopo il protocollo di un URL e l'eventuale barra "/" che segue, ad esempio, www.fourthcoffee.com nell'URL http://www.fourthcoffee.com/process/grind.htm. Sono esclusi i numeri di porta. Nel caso dell’URL http://www.fourthcoffee.com:8000/, il sito corrisponderà a www.fourthcoffee.com e non a www.fourthcoffee.com:8000.

È possibile cercare una corrispondenza esatta dei siti o inserire un carattere jolly ("*") come prefisso in corrispondenza del punto delimitatore. La stringa del nome del sito *.fourthcoffee.com, ad esempio, corrisponde a fourthcoffee.com e a www.fourthcoffee.com. Senza un carattere jolly il nome del sito deve corrispondere esattamente. La stringa del nome del sito * corrisponde a qualsiasi sito, ma non al codice che non fornisce alcuna prova del sito.

Nota importante:

In .NET Framework versioni 1.0 e 1.1 le richieste relative alle autorizzazioni di identità sono effettive anche quando l'assembly chiamante è completamente attendibile. Anche se l'assembly chiamante dispone di attendibilità totale, una richiesta relativa a un'autorizzazione di identità non viene pertanto eseguita se l'assembly non soddisfa i criteri richiesti. In .NET Framework versione 2.0 le richieste relative ad autorizzazioni di identità non sono effettive se l'assembly chiamante dispone di attendibilità totale. In tal modo si assicura la coerenza per tutte le autorizzazioni e si evita che le autorizzazioni di identità vengano considerate come un caso speciale.

L'ambito consentito della dichiarazione dipende dall'oggetto SecurityAction utilizzato.

Le informazioni di sicurezza dichiarate da un attributo di sicurezza sono archiviate nei metadati della destinazione dell'attributo e il sistema vi accede in fase di esecuzione. Gli attributi di sicurezza vengono utilizzati solo per la sicurezza dichiarativa. Per applicare la sicurezza imperativa, utilizzare la classe di autorizzazioni corrispondente.

Nel seguente esempio di attributo dichiarativo viene descritto come richiedere l'oggetto SiteIdentityPermission e viene specificato che occorre disporre almeno di questa autorizzazione per eseguire il codice. L’esecuzione del codice si verifica solo dal sito Web example.microsoft.com.

[assembly:SiteIdentityPermissionAttribute(SecurityAction.RequestMinimum,
Site="example.microsoft.com")]
//In C#, you must specify that you are using the assembly scope when
// making a request.


/** @assembly SiteIdentityPermissionAttribute(SecurityAction.RequestMinimum,
    Site = "example.microsoft.com")
 */
// In VJ#, you must specify that you are using the assembly scope when
// making a request.


Nell'esempio che segue viene illustrato come richiedere che nel codice chiamante sia disponibile l'oggetto SiteIdentityPermission in fase di collegamento. L’esecuzione del codice si verifica solo dal sito Web example.microsoft.com.

[SiteIdentityPermissionAttribute(SecurityAction.Demand,
Site="example.microsoft.com")]


/** @attribute SiteIdentityPermissionAttribute(SecurityAction.Demand, 
    Site = "example.microsoft.com")
 */


Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft