다음을 통해 공유


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 주석을 적용하지 않으며 CAS 관련 API를 사용하는 경우 오류를 생성합니다. 개발자는 보안 작업을 수행하는 다른 방법을 찾아야 합니다.

파일 및 디렉터리 절대 경로를 사용 하 여 지정 됩니다. 파일에 액세스할 때 파일을 만들거나 열 때 보안 검사가 수행됩니다. 파일을 닫았다가 다시 열지 않으면 보안 검사가 다시 수행되지 않습니다. 파일을 처음 액세스할 때 사용 권한을 확인하면 파일 열기가 한 번만 수행되고 읽기 및 쓰기가 여러 번 발생할 수 있으므로 애플리케이션 성능에 대한 보안 검사의 영향을 최소화할 수 있습니다.

허용되는 선언의 범위는 사용되는 SecurityAction 따라 달라집니다.

보안 특성에 의해 선언된 보안 정보는 특성 대상의 메타데이터에 저장되며 런타임에 시스템에서 액세스합니다. 보안 특성은 선언적 보안에만 사용됩니다. 명령적 보안의 경우 해당 권한 클래스를 사용합니다.

주의

Unrestricted FileIOPermission 지정된 단일 파일에 액세스하는 데 사용할 수 있는 여러 경로 이름을 포함하여 파일 시스템 내의 모든 경로에 대한 권한을 부여합니다. 파일에 대한 액세스를 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)

적용 대상

추가 정보