권한 보기 도구(Permview.exe)
권한 보기 도구는 어셈블리에서 요청한 최소 권한 집합, 선택적 권한 집합 및 거부된 권한 집합을 보는 데 사용됩니다. 선택적으로 Permview.exe를 사용하여 어셈블리에서 사용하는 모든 선언적 보안을 볼 수도 있습니다. Permview.exe는 .NET Framework 버전 1.0 및 1.1에서만 사용할 수 있습니다.
permview [/output filename] [/decl] manifestfile
매개 변수
인수 | 설명 |
---|---|
manifestfile |
어셈블리의 매니페스트가 들어 있는 파일을 나타냅니다. 매니페스트는 독립 실행형 파일일 수도 있고 PE(이식 가능한 실행) 파일에 포함될 수도 있습니다. 이 파일의 확장명은 대개 .exe 또는 .dll이지만 .scr 또는 .ocx일 수도 있습니다. |
옵션 | 설명 |
---|---|
/decl |
manifestfile로 지정된 어셈블리에 대한 어셈블리, 클래스 및 메서드 수준의 모든 선언적 보안을 표시합니다. 여기에는 요청, 어설션 및 선언형으로 적용될 수 있는 기타 모든 보안 동작뿐만 아니라 권한 요청도 포함됩니다. 지정된 어셈블리에 연결되는 다른 어셈블리는 참조되지 않습니다. |
/h[elp] |
이 도구의 명령 구문 및 옵션을 표시합니다. |
/output filename |
출력 내용을 지정된 파일에 씁니다. 기본값은 출력 내용을 콘솔에 표시하는 것입니다. |
/? |
이 도구의 명령 구문 및 옵션을 표시합니다. |
설명
개발자는 Permview.exe를 사용하여 해당 코드에 권한 요청이 올바르게 적용되었는지 확인할 수 있습니다. 또한, 사용자는 Permview.exe를 사용하여 어셈블리에서 실행해야 하는 권한을 확인할 수 있습니다. 예를 들어, 관리되는 실행 파일을 실행하다가 "System.Security.Policy.PolicyException: Failed to acquire required permissions"라는 오류 메시지가 표시되는 경우, Permview.exe를 실행하여 실행 파일의 코드를 실행하기 전에 해당 코드에서 받아야 하는 권한을 확인할 수 있습니다.
예제
다음 명령을 사용하여 어셈블리 myAssembly.exe
에서 요청한 권한을 콘솔에 표시합니다.
permview myAssembly.exe
myAssembly.exe
에 FullTrust에 대한 최소 요청이 들어 있는 경우 다음과 같은 내용이 출력됩니다.
Microsoft (R) .NET Framework Permission Request Viewer. Version 1.0.2204.18 Copyright (C) Microsoft Corp. 1998-2000
minimal permission set:
<PermissionSet class="System.Security.PermissionSet" version ="1">
<Unrestricted/>
</PermissionSet>
optional permission set:
Not specified
refused permission set:
Not specified
다음 명령을 사용하여 myAssembly.exe
어셈블리에 대한 모든 선언적 보안을 콘솔에 표시합니다. 이 명령을 사용하면 메서드 수준의 보안 요청이 표시됩니다.
permview /decl myAssembly.exe
다음과 같이 출력됩니다.
Microsoft (R) .NET Framework Permission Request Viewer.
Version 1.0.2204.18 Copyright (C) Microsoft Corp. 1998-2000
Assembly RequestMinimum permission set:
<PermissionSet class="System.Security.PermissionSet" version ="1">
<Unrestricted/>
</PermissionSet>
Method A::myMethod() LinktimeCheck permission set:
<PermissionSet class="System.Security.PermissionSet" version="1">
<Permission class="System.Security.Permissions.ReflectionPermission,
mscorlib, Ver=1.0.2204.2, Loc='', SN=03689116d3a4ae33"
version="1">
<MemberAccess/>
</Permission>
</PermissionSet>
다음 명령을 사용하여 어셈블리 myAssembly.exe
에서 요청한 권한을 myOutputFile
파일에 씁니다.
permview /output myOutputFile myAssembly.exe
참고 항목
참조
개념
권한 요청
선언적 보안
요청
Assert 메서드 사용
Deny 메서드 사용
PermitOnly 메서드 사용