次の方法で共有


FileIOPermissionAttribute クラス

定義

注意事項

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)

適用対象

こちらもご覧ください