FileIOPermission 클래스

정의

주의

Code Access Security is not supported or honored by the runtime.

파일 및 폴더에 액세스하는 기능을 제어합니다. 이 클래스는 상속할 수 없습니다.

public ref class FileIOPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[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 FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class FileIOPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
상속
FileIOPermission
특성
구현

설명

Caution

CAS(코드 액세스 보안)는 모든 버전의 .NET Framework 및 .NET에서 더 이상 사용되지 않습니다. 최신 버전의 .NET은 CAS 주석을 준수하지 않으며 CAS 관련 API를 사용하는 경우 오류가 발생합니다. 개발자는 보안 작업을 수행하는 다른 방법을 찾아야 합니다.

이 권한은 FileIOPermissionAccess에서 제공하는 다음 네 가지 유형의 파일 IO 액세스를 구분합니다.

  • Read: 파일 내용에 대한 읽기 권한 또는 파일의 길이나 마지막 수정 시간과 같은 파일 정보에 대한 액세스 권한.

  • Write: 파일 내용에 대한 쓰기 액세스 또는 파일 이름과 같은 파일에 대한 정보를 변경하기 위한 액세스 권한입니다. 또한 삭제 및 덮어쓰기를 허용합니다.

  • Append: 파일의 끝에만 쓸 수 있습니다. 읽을 수 없습니다.

  • PathDiscovery: 경로 자체의 정보에 액세스합니다. 이렇게 하면 경로에 표시되는 디렉터리 구조에 대한 정보뿐만 아니라 사용자 이름과 같은 경로의 중요한 정보를 보호할 수 있습니다. 이 값은 경로가 나타내는 파일 또는 폴더에 대한 액세스 권한을 부여하지 않습니다.

메모

어셈블리에 대한 액세스 권한을 부여하는 Write 것은 전체 신뢰를 부여하는 것과 유사합니다. 애플리케이션이 파일 시스템에 쓰지 않아야 하는 경우 액세스 권한이 없어야 Write 합니다.

이러한 모든 권한은 독립적이므로 한 권한에 대한 권한이 다른 권한에 대한 권리를 의미하지는 않습니다. 예를 들어 Write 사용 권한이 사용 권한을 의미하거나 Read에 대한 권한을 Append 의미하지는 않습니다. 두 개 이상의 사용 권한이 필요한 경우 다음 코드 예제와 같이 비트 OR을 사용하여 결합할 수 있습니다. 파일 사용 권한은 정식 절대 경로 측면에서 정의됩니다. 호출은 항상 정식 파일 경로를 사용하여 수행해야 합니다.

FileIOPermission 는 파일 및 폴더에 대한 보호된 작업을 설명합니다. 이 클래스는 File 파일 및 폴더에 대한 보안 액세스를 제공하는 데 도움이 됩니다. 보안 액세스 검사는 파일에 대한 핸들을 만들 때 수행됩니다. 생성 시 검사를 수행하면 보안 검사의 성능 영향이 최소화됩니다. 파일 열기는 한 번 발생하지만 읽기 및 쓰기는 여러 번 발생할 수 있습니다. 파일이 열리면 추가 검사가 수행되지 않습니다. 개체가 신뢰할 수 없는 호출자에게 전달되면 오용될 수 있습니다. 예를 들어 파일 핸들은 권한이 적은 코드가 액세스할 수 있는 공용 전역 정적에 저장해서는 안 됩니다.

FileIOPermissionAccess 는 파일 또는 폴더에서 수행할 수 있는 작업을 지정합니다. 또한 이러한 작업은 비트 OR을 사용하여 결합되어 복잡한 인스턴스를 형성할 수 있습니다.

폴더에 대한 액세스는 포함된 모든 파일에 대한 액세스뿐만 아니라 하위 폴더의 모든 파일 및 폴더에 대한 액세스를 의미합니다. 예를 들어 Read C:\folder1\에 대한 액세스는 C:\folder1\file1.txt, C:\folder1\folder2\, C:\folder1\folder2\file2.txt등에 대한 액세스를 의미 Read 합니다.

메모

.NET Framework 4 이전 버전의 .NET Framework에서는 이 메서드를 사용하여 CodeAccessPermission.Deny 신뢰할 수 있는 코드로 시스템 리소스에 실수로 액세스하지 못하도록 방지할 수 있습니다. Deny 는 이제 사용되지 않으며, 이제 리소스에 대한 액세스는 어셈블리에 대해 부여된 권한 집합에 의해서만 결정됩니다. 파일에 대한 액세스를 제한하려면 샌드박스에서 부분적으로 신뢰할 수 있는 코드를 실행하고 코드에서 액세스할 수 있는 리소스에만 권한을 할당해야 합니다. 샌드박스에서 애플리케이션을 실행하는 방법에 대한 자세한 내용은 방법: 샌드박스에서 부분적으로 신뢰할 수 있는 코드 실행을 참조하세요.

생성자

Name Description
FileIOPermission(FileIOPermissionAccess, AccessControlActions, String)
사용되지 않음.

지정된 파일 또는 디렉터리에 대한 지정된 액세스 권한과 파일 제어 정보에 대한 지정된 액세스 권한을 사용하여 클래스의 새 인스턴스 FileIOPermission 를 초기화합니다.

FileIOPermission(FileIOPermissionAccess, AccessControlActions, String[])
사용되지 않음.

지정된 파일 및 디렉터리에 대한 지정된 액세스 권한과 파일 제어 정보에 대한 지정된 액세스 권한을 사용하여 클래스의 새 인스턴스 FileIOPermission 를 초기화합니다.

FileIOPermission(FileIOPermissionAccess, String)
사용되지 않음.

지정된 파일 또는 디렉터리에 대한 지정된 액세스 권한을 사용하여 클래스의 FileIOPermission 새 인스턴스를 초기화합니다.

FileIOPermission(FileIOPermissionAccess, String[])
사용되지 않음.

지정된 파일 및 디렉터리에 대한 지정된 액세스 권한을 사용하여 클래스의 FileIOPermission 새 인스턴스를 초기화합니다.

FileIOPermission(PermissionState)
사용되지 않음.

지정된 대로 완전히 제한되거나 제한되지 않은 권한으로 클래스의 FileIOPermission 새 인스턴스를 초기화합니다.

속성

Name Description
AllFiles
사용되지 않음.

모든 파일에 대해 허용되는 액세스를 가져오거나 설정합니다.

AllLocalFiles
사용되지 않음.

모든 로컬 파일에 허용되는 액세스를 가져오거나 설정합니다.

메서드

Name Description
AddPathList(FileIOPermissionAccess, String)
사용되지 않음.

지정한 파일 또는 디렉터리에 대한 액세스를 사용 권한의 기존 상태에 추가합니다.

AddPathList(FileIOPermissionAccess, String[])
사용되지 않음.

지정된 파일 및 디렉터리에 대한 액세스를 사용 권한의 기존 상태에 추가합니다.

Assert()
사용되지 않음.

호출 코드가 이 메서드를 호출하는 코드를 통해 권한 요구로 보호되는 리소스에 액세스할 수 있음을 선언합니다. 스택의 상위 호출자에게 리소스에 대한 액세스 권한이 부여되지 않은 경우에도 해당 메서드를 호출합니다. 사용하면 Assert() 보안 문제가 발생할 수 있습니다.

(다음에서 상속됨 CodeAccessPermission)
Copy()
사용되지 않음.

현재 사용 권한의 동일한 복사본을 만들고 반환합니다.

Demand()
사용되지 않음.

SecurityException 호출 스택의 모든 호출자에게 현재 인스턴스에서 지정한 권한이 부여되지 않은 경우 런타임에 강제로 실행합니다.

(다음에서 상속됨 CodeAccessPermission)
Deny()
사용되지 않음.
사용되지 않음.

호출 스택의 상위 호출자가 현재 인스턴스에서 지정한 리소스에 액세스하기 위해 이 메서드를 호출하는 코드를 사용하지 못하도록 합니다.

(다음에서 상속됨 CodeAccessPermission)
Equals(Object)
사용되지 않음.

지정된 FileIOPermission 개체가 현재 FileIOPermission개체와 같은지 여부를 확인합니다.

FromXml(SecurityElement)
사용되지 않음.

XML 인코딩에서 지정된 상태로 사용 권한을 다시 구성합니다.

GetHashCode()
사용되지 않음.

해시 알고리즘 및 해시 테이블과 같은 데이터 구조에 사용하기에 적합한 개체에 대한 FileIOPermission 해시 코드를 가져옵니다.

GetPathList(FileIOPermissionAccess)
사용되지 않음.

지정된 FileIOPermissionAccess파일과 디렉터리를 모두 가져옵니다.

GetType()
사용되지 않음.

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
Intersect(IPermission)
사용되지 않음.

현재 사용 권한과 지정된 사용 권한의 교집합인 사용 권한을 만들고 반환합니다.

IsSubsetOf(IPermission)
사용되지 않음.

현재 사용 권한이 지정된 사용 권한의 하위 집합인지 여부를 확인합니다.

IsUnrestricted()
사용되지 않음.

현재 사용 권한이 제한되지 않는지 여부를 나타내는 값을 반환합니다.

MemberwiseClone()
사용되지 않음.

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
PermitOnly()
사용되지 않음.

호출 스택의 상위 호출자가 현재 인스턴스에서 지정한 리소스를 제외한 모든 리소스에 액세스하기 위해 이 메서드를 호출하는 코드를 사용하지 못하도록 합니다.

(다음에서 상속됨 CodeAccessPermission)
SetPathList(FileIOPermissionAccess, String)
사용되지 않음.

지정한 파일 또는 디렉터리에 대한 지정된 액세스를 설정하여 사용 권한의 기존 상태를 바꿔서 설정합니다.

SetPathList(FileIOPermissionAccess, String[])
사용되지 않음.

지정한 액세스의 현재 상태를 새 경로 집합으로 바꿔 지정된 파일 및 디렉터리에 대한 지정된 액세스를 설정합니다.

ToString()
사용되지 않음.

현재 권한 개체의 문자열 표현을 만들고 반환합니다.

(다음에서 상속됨 CodeAccessPermission)
ToXml()
사용되지 않음.

권한 및 현재 상태의 XML 인코딩을 만듭니다.

Union(IPermission)
사용되지 않음.

현재 사용 권한과 지정된 사용 권한의 합합인 사용 권한을 만듭니다.

적용 대상

추가 정보