FileIOPermissionAttribute クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
注意事項
Code Access Security is not supported or honored by the runtime.
宣言型セキュリティを使用して FileIOPermission のセキュリティ アクションをコードに適用できるようにします。 このクラスは継承できません。
public ref class FileIOPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type FileIOPermissionAttribute = class
inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
type FileIOPermissionAttribute = class
inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermissionAttribute = class
inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
type FileIOPermissionAttribute = class
inherit CodeAccessSecurityAttribute
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
- 継承
- 属性
例
次のコード例では、FileIOPermissionAttribute クラスを使用して FileIOPermission を要求する方法を示します。これは、コードに付与される唯一のアクセス許可を示しています。
[FileIOPermissionAttribute(SecurityAction::PermitOnly,ViewAndModify="C:\\example\\sample.txt")]
[FileIOPermissionAttribute(SecurityAction.PermitOnly, ViewAndModify = "C:\\example\\sample.txt")]
<FileIOPermissionAttribute(SecurityAction.PermitOnly, _
ViewAndModify:="C:\example\sample.txt")> Public Class SampleClass
次の例は、呼び出し元のコードに無制限の FileIOPermissionがあることを要求する方法を示しています。 通常は、潜在的に有害なコードからメソッドまたはクラスを保護するために、マネージド ライブラリ (DLL) で要求を行います。
[FileIOPermissionAttribute(SecurityAction::Demand,Unrestricted=true)]
[FileIOPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
<FileIOPermissionAttribute(SecurityAction.Demand, _
Unrestricted := True)> Public Class SampleClass
注釈
注意
コード アクセス セキュリティ (CAS) は、.NET Framework と .NET のすべてのバージョンで非推奨になりました。 最近のバージョンの .NET では、CAS に関連する API が使用されている場合、CAS 注釈は使用されず、エラーが発生します。 開発者は、セキュリティ タスクを実行するための代替手段を求める必要があります。
ファイルとディレクトリは、絶対パスを使用して指定されます。 ファイルにアクセスすると、ファイルの作成時または開時にセキュリティ チェックが実行されます。 ファイルを閉じて再度開かない限り、セキュリティ チェックは再度実行されません。 ファイルが最初にアクセスされたときにアクセス許可を確認すると、ファイルを開く操作は 1 回だけ行われ、読み取りと書き込みは複数回実行される可能性があるため、アプリケーションのパフォーマンスに対するセキュリティ チェックの影響を最小限に抑えることができます。
許可される宣言のスコープは、使用される SecurityAction によって異なります。
セキュリティ属性によって宣言されたセキュリティ情報は、属性ターゲットのメタデータに格納され、実行時にシステムによってアクセスされます。 セキュリティ属性は、宣言型セキュリティにのみ使用されます。 命令型セキュリティの場合は、対応するアクセス許可クラスを使用します。
注意
Unrestricted
FileIOPermission は、1 つのファイルにアクセスするために使用できる複数のパス名を含む、ファイル システム内のすべてのパスに対するアクセス許可を付与します。 ファイルへのアクセスを Deny するには、使用可能なすべてのパスをファイルに Deny
する必要があります。 たとえば、\\server\share がネットワーク ドライブ X にマップされている場合、\\server\share\file へのアクセスを Deny
するには、\\server\share\file、X:\file、およびそのファイルへのアクセスに使用できるその他のパスを Deny
する必要があります。
コンストラクター
FileIOPermissionAttribute(SecurityAction) |
古い.
指定した SecurityActionを使用して、FileIOPermissionAttribute クラスの新しいインスタンスを初期化します。 |
プロパティ
Action |
古い.
セキュリティ アクションを取得または設定します。 (継承元 SecurityAttribute) |
All |
古い.
古い.
文字列値で指定されたファイルまたはディレクトリのフル アクセスを取得または設定します。 |
AllFiles |
古い.
すべてのファイルに対して許可されるアクセス権を取得または設定します。 |
AllLocalFiles |
古い.
すべてのローカル ファイルへの許可されるアクセスを取得または設定します。 |
Append |
古い.
文字列値で指定されたファイルまたはディレクトリの追加アクセスを取得または設定します。 |
ChangeAccessControl |
古い.
アクセス制御情報を変更できるファイルまたはディレクトリを取得または設定します。 |
PathDiscovery |
古い.
パス検出を許可するファイルまたはディレクトリを取得または設定します。 |
Read |
古い.
文字列値で指定されたファイルまたはディレクトリの読み取りアクセス権を取得または設定します。 |
TypeId |
古い.
派生クラスで実装されている場合は、この Attributeの一意の識別子を取得します。 (継承元 Attribute) |
Unrestricted |
古い.
属性によって保護されているリソースに対する完全な (無制限の) アクセス許可が宣言されているかどうかを示す値を取得または設定します。 (継承元 SecurityAttribute) |
ViewAccessControl |
古い.
アクセス制御情報を表示できるファイルまたはディレクトリを取得または設定します。 |
ViewAndModify |
古い.
ファイル データを表示および変更できるファイルまたはディレクトリを取得または設定します。 |
Write |
古い.
文字列値で指定されたファイルまたはディレクトリの書き込みアクセスを取得または設定します。 |
メソッド
CreatePermission() |
古い.
新しい FileIOPermissionを作成して返します。 |
Equals(Object) |
古い.
このインスタンスが指定したオブジェクトと等しいかどうかを示す値を返します。 (継承元 Attribute) |
GetHashCode() |
古い.
このインスタンスのハッシュ コードを返します。 (継承元 Attribute) |
GetType() |
古い.
現在のインスタンスの Type を取得します。 (継承元 Object) |
IsDefaultAttribute() |
古い.
派生クラスでオーバーライドされた場合、このインスタンスの値が派生クラスの既定値であるかどうかを示します。 (継承元 Attribute) |
Match(Object) |
古い.
派生クラスでオーバーライドされた場合、このインスタンスが指定したオブジェクトと等しいかどうかを示す値を返します。 (継承元 Attribute) |
MemberwiseClone() |
古い.
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
ToString() |
古い.
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
明示的なインターフェイスの実装
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
古い.
名前のセットを、対応するディスパッチ識別子のセットにマップします。 (継承元 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
古い.
インターフェイスの型情報を取得するために使用できるオブジェクトの型情報を取得します。 (継承元 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
古い.
オブジェクトが提供する型情報インターフェイスの数を取得します (0 または 1)。 (継承元 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
古い.
オブジェクトによって公開されるプロパティとメソッドへのアクセスを提供します。 (継承元 Attribute) |
適用対象
こちらもご覧ください
- FileIOPermission
- FileIOPermissionAccess
- 属性 を使用したメタデータの拡張の
.NET