.NET Framework 2.0에서는 .NET Framework 1.1에서와 달리 [제어판]-[관리도구]에 .NET Framework Configuration Tool을 설치하지 않는다.

즉, 기본적으로 이 구성도구를 이용하여 보안설정을 해줄 방법이 없다는 얘기다.

 

스마트 클라이언트를 만들어서 실행하려고 하면 실행 권한이 없어서 각종 오류가 뜨는데,

누구나 범하기 쉬운 대표적인 오류로는 다음의 두 가지를 들 수 있다.

 

1. WebException: 스마트 클라이언트 내부적으로 다른 웹 서버에 있는 웹 서비스를 호출할 때 발생한다.

비슷한 오류로는 SocketException 등도 나타날 수 있다.

 

2. SecurityException: 이것이 대표적인 것으로 새 창이나 팝업을 띄우려고 할 때 보통 잘 나온다. 2.0 버전에서는 풍선 도움말로 ".NET 보안 경고" 어쩌고 하면서 간략한 메시지만 보여주기도 한다.

 

 이런 것들을 피해가기 위해서는 물론 위와 같이 보안 이슈가 생길만한 코드를 사용하지 않으면 된다. 하지만 그럴 수 없는 경우에는 클라이언트에 보안 설정을 해줘야 하는데 대부분 URL 기반으로 FullTrust를 주면 해결된다. 이것을 .NET 구성도구에서 해주면 간단하지만 .NET 구성도구가 설치되지 않은 다음에야 어쩌랴... 그렇다고 400메가가 넘는 SDK를 설치할 수도 없고.

 

이럴 때 다음의 기본 도구를 이용하면 된다.

 

CasPol.exe: .NET Code Access Security Policy Tool

 

이것은 .NET Framework 설치 디렉터리(보통 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727)에 있고, 사용 방법은 다음과 같다.

 

...\v2.0.50727> caspol -q -machine -addgroup Internet_Zone -url {도메인 URL} FullTrust -n {이름}

- 도메인 URL: 스마트 클라이언트가 설치된 웹 사이트의 URL, 보통 웹사이트 루트까지만 쓰고 끝에 *를 붙여준다.

- 이름: 아무 이름이나 유일한 이름으로 지정해준다. 보통 위 도메인 URL의 도메인 이름을 써주면 되겠다.

 

예: caspol -q -machine -addgroup Internet_Zone -url "http://www.dcinemakorea.com/*" FullTrust -n "D-Cinema 사이트"

 

등록된 보안 설정을 삭제할 때는 -remgroup(혹은 -rg) 옵션을 사용해주면 되겠다.

 

예제파일을 첨부했다.


test_caspol.cmd





Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]