내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

FileIOPermissionAttribute 클래스

선언적 보안을 사용하여 FileIOPermission에 대한 보안 동작을 코드에 적용할 수 있습니다. 이 클래스는 상속될 수 없습니다.

네임스페이스:  System.Security.Permissions
어셈블리:  mscorlib(mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple = true, 
	Inherited = false)]
public sealed class FileIOPermissionAttribute : CodeAccessSecurityAttribute

FileIOPermissionAttribute 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드FileIOPermissionAttribute지정된 SecurityAction을 사용하여 FileIOPermissionAttribute 클래스의 새 인스턴스를 초기화합니다.
위쪽

  이름설명
Public 속성Action보안 동작을 가져오거나 설정합니다. (SecurityAttribute에서 상속됨)
Public 속성All 사용되지 않습니다. 문자열 값으로 지정된 파일이나 디렉터리에 대한 모든 액세스 권한을 가져오거나 설정합니다.
Public 속성AllFiles모든 파일에 허용된 권한을 가져오거나 설정합니다.
Public 속성AllLocalFiles모든 로컬 파일에 허용된 권한을 가져오거나 설정합니다.
Public 속성Append문자열 값으로 지정된 파일이나 디렉터리에 대한 추가 액세스 권한을 가져오거나 설정합니다.
Public 속성ChangeAccessControl액세스 제어 정보를 변경할 수 있는 파일 또는 디렉터리를 가져오거나 설정합니다.
Public 속성PathDiscovery경로 검색 권한을 부여할 파일이나 디렉터리를 가져오거나 설정합니다.
Public 속성Read문자열 값으로 지정된 파일이나 디렉터리에 대한 읽기 권한을 가져오거나 설정합니다.
Public 속성TypeId파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다. (Attribute에서 상속됨)
Public 속성Unrestricted해당 특성에 의해 보호되는 리소스에 대해 전체(무제한) 권한이 선언되는지 여부를 나타내는 값을 가져오거나 설정합니다. (SecurityAttribute에서 상속됨)
Public 속성ViewAccessControl액세스 제어 정보를 볼 수 있는 파일 또는 디렉터리를 가져오거나 설정합니다.
Public 속성ViewAndModify파일 데이터를 보고 수정할 수 있는 파일 또는 디렉터리를 가져오거나 설정합니다.
Public 속성Write문자열 값으로 지정된 파일이나 디렉터리에 대한 쓰기 권한을 가져오거나 설정합니다.
위쪽

  이름설명
Public 메서드CreatePermissionFileIOPermission을 만들어 반환합니다. (SecurityAttribute.CreatePermission()을(를) 재정의함)
Public 메서드Equals인프라입니다. 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (Attribute에서 상속됨)
Public 메서드GetHashCode이 인스턴스의 해시 코드를 반환합니다. (Attribute에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드IsDefaultAttribute파생 클래스에서 재정의된 경우 이 인스턴스의 값이 파생 클래스의 기본값인지 여부를 나타냅니다. (Attribute에서 상속됨)
Public 메서드Match파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (Attribute에서 상속됨)
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
위쪽

  이름설명
명시적 인터페이스 구현Private 메서드_Attribute.GetIDsOfNames이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다. (Attribute에서 상속됨)
명시적 인터페이스 구현Private 메서드_Attribute.GetTypeInfo인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다. (Attribute에서 상속됨)
명시적 인터페이스 구현Private 메서드_Attribute.GetTypeInfoCount개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1). (Attribute에서 상속됨)
명시적 인터페이스 구현Private 메서드_Attribute.Invoke개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다. (Attribute에서 상속됨)
위쪽

파일과 디렉터리는 절대 경로를 사용하여 지정합니다. 파일에 액세스하는 경우 파일을 만들거나 열 때 보안 검사가 수행됩니다. 파일을 닫고 다시 열어야 보안 검사가 다시 수행됩니다. 파일에 처음 액세스할 때 사용 권한을 검사하면 파일을 한 번만 열어 읽기/쓰기를 여러 번 수행할 수 있으므로 응용 프로그램 성능에 대한 보안 검사의 영향이 최소화됩니다.

허용되는 선언 범위는 사용되는 SecurityAction에 따라 다릅니다.

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

주의 정보주의

Unrestricted FileIOPermission 에서는 파일 시스템 안의 모든 경로에 대한 권한을 부여합니다. 여기에는 지정된 단일 파일에 액세스하는 데 사용되는 다중 경로 이름도 포함됩니다. 파일에 대한 액세스를 Deny하려면 해당 파일에 대해 가능한 모든 경로를 Deny해야 합니다. 예를 들어 \\server\share가 네트워크 드라이브 X에 매핑된 경우 \\server\share\file에 대한 액세스를 Deny하려면 \\server\share\file, X:\file 및 해당 파일에 액세스하기 위해 사용할 수 있는 다른 모든 경로를 Deny해야 합니다.

다음 코드 예제에서는 FileIOPermissionAttribute 클래스를 사용하여 FileIOPermission을를 요청하는 방법에 대해 설명하며, 코드에 부여되어야 하는 유일한 권한을 보여줍니다.


[FileIOPermissionAttribute(SecurityAction.PermitOnly, ViewAndModify = "C:\\example\\sample.txt")]


다음 예제에서는 호출 코드가 무제한 FileIOPermission을 갖도록 요청하는 방법을 보여 줍니다. 일반적으로 요청은 악성 코드로부터 메서드나 클래스를 보호할 수 있도록 관리되는 라이브러리(DLL)에 만들어집니다.


[FileIOPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]


.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft