AllowPartiallyTrustedCallersAttribute アセンブリ内の型に対する完全な信頼の要求

更新 : 2007 年 11 月

アセンブリに AllowPartiallyTrustedCallersAttribute が設定されていると、すべての呼び出し元に完全な信頼を要求する暗黙の LinkDemand は無効になります。アセンブリ内の特定のメンバやクラスを部分的な信頼のコードから呼び出すことができるようにして、同じアセンブリ内のそれ以外のメンバやクラスには、部分的な信頼のコードからの呼び出しを防ぐケースも考えられます。特定のメンバやクラスに部分的な信頼のコードからの呼び出しを許可し、それ以外のメンバやクラスには部分的な信頼のコードからの呼び出しを拒否するには、次の手順に従います。

  1. 厳密な名前でコードを署名します。

  2. AllowPartiallyTrustedCallersAttribute 属性をアセンブリに適用し、部分的な信頼の呼び出し元がこのアセンブリを使用できるようにします。

  3. 手順 2. のアセンブリ内で、部分的な信頼の呼び出し元から保護したい特定のメンバやクラスに完全な信頼を求める要求を適用します。

部分的な信頼のコードによるアクセスを制限するには、次に示す要求をコードに適用します。

  • 完全な信頼を求める LinkDemand を実行するには、次のコードをクラスやメンバに適用します。

    <PermissionSetAttribute(SecurityAction.LinkDemand, Name:="FullTrust")>
    
    [PermissionSetAttribute(SecurityAction.LinkDemand, Name="FullTrust")]
    
  • 呼び出し元にアンマネージ コードを呼び出す機能を求めるリンク確認要求を発生させるには、次のコードをクラスやメンバに適用します。

    <SecurityPermissionAttribute(SecurityAction.LinkDemand, UnmanagedCode:=True)>
    
    [SecurityPermissionAttribute(SecurityAction.LinkDemand, UnmanagedCode=true)]
    
  • 完全な信頼を求める継承確認要求を発生させるには、次のコードをクラスやメンバに適用します。

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

参照

概念

部分信頼コードからのライブラリの使用

その他の技術情報

コード アクセス セキュリティ