Esporta (0) Stampa
Espandi tutto

Necessità di un livello di attendibilità totale per i tipi interni a un assembly AllowPartiallyTrustedCallersAttribute

Aggiornamento: novembre 2007

Quando all'interno di un assembly viene inserito l'oggetto AllowPartiallyTrustedCallersAttribute, viene disattivata la richiesta implicita LinkDemand che prevede chiamanti completamente attendibili. In alcune situazioni può essere preferibile fare in modo che alcuni membri o classi possano essere chiamati da codice parzialmente attendibile, proteggendo allo stesso tempo altri membri o classi dello stesso assembly da tale codice. La procedura riportata di seguito consente di fornire accesso ad alcuni membri o classi da codice parzialmente attendibile, negando contemporaneamente l'accesso ad altri membri o classi da questo tipo di codice.

  1. Firmare il codice con un nome sicuro.

  2. Applicare l'attributo AllowPartiallyTrustedCallersAttribute all'assembly per renderlo disponibile ai chiamanti parzialmente attendibili.

  3. Applicare, all'interno dell'assembly descritto al passaggio 2, la pretesa di attendibilità totale al membro o alla classe specificata che si desidera proteggere dai chiamanti parzialmente attendibili.

Di seguito sono descritte le pretese che è possibile includere nel codice per limitare l'accesso da parte di codice parzialmente attendibile.

  • Per generare una pretesa LinkDemand di attendibilità totale, applicare a una classe o un membro la seguente istruzione:

    <PermissionSetAttribute(SecurityAction.LinkDemand, Name:="FullTrust")>
    
    

    [PermissionSetAttribute(SecurityAction.LinkDemand, Name="FullTrust")]
    
  • Per generare una pretesa di collegamento in cui richiedere che i chiamanti possano chiamare codice non gestito, applicare a una classe o a un membro la seguente istruzione:

    <SecurityPermissionAttribute(SecurityAction.LinkDemand, UnmanagedCode:=True)>
    
    

    [SecurityPermissionAttribute(SecurityAction.LinkDemand, UnmanagedCode=true)]
    
  • Per generare una pretesa di ereditarietà di attendibilità totale, applicare a una classe o un membro la seguente istruzione:

    <PermissionSet(SecurityAction.InheritanceDemand, Name:="FullTrust")>
    
    

    [PermissionSet(SecurityAction.InheritanceDemand, Name="FullTrust")]
    

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft