2009-07-06 3 views
0

외국 어셈블리를로드하고 타사 스크립트를 실행하는 .net win 응용 프로그램을 작성하고 있습니다. 외국 스크립트에 의해 실행 된 코드를 위생적으로 삭제하는 방법을 찾고 있으며 제 3 자 스크립트가 정의 된 웹 사이트 집합에만 액세스 할 수 있도록 허용합니다. PermissionSet을 상태로 설정하고 None으로 설정 한 다음 원하는 웹 사이트를 추가하고 "Permit only"를 선택하면 타사 코드가 완전히 신뢰할 수있는 경우가 아니라면 트릭을 수행하는 것처럼 보일 것입니다. Assert를 사용하여 되돌립니다. 그래도 나는 자신이 제어하는 ​​코드의 일부가 완전히 신뢰되기를 바라고 있기 때문에 특정 스레드 또는 프로그램 적으로 스택의 특정 지점에 대한 신뢰 수준을 제한하는 방법을 찾고 있습니다.중간 트러스트로 실행되도록 특정 스레드를 분리하십시오.

도움을 주시면 감사하겠습니다.

+1

신뢰할 수 있고 적대적인 제 3 자 코드를 실행하는 경우 자신이하는 일에 상관없이 큰 문제가 발생합니다. 완전히 신뢰할 수있는 코드를 단편적인 방식으로 제한함으로써 불가능한 일을하려하기보다, 신뢰할 수없는 코드에 대한 신뢰를 우선적으로 부여하지 마십시오. –

+0

나는 이것이 내가 분리 된 스레드에서 중간 신뢰를 구현하는 방법을 찾고 있었지만, 지금까지는 아무 소용이 없다는 것에 동의한다. 리드의 appdomain 대안에 읽어야한다. –

답변

3

스레드 수준에서는이 작업을 수행 할 수 없습니다.

단일 응용 프로그램에서 다른 트러스트를 사용하는 적절한 방법은 타사 스크립트를 실행하기 위해 별도의 AppDomain을 작성하는 것입니다.

Chris Brumme은 배경을 약간 읽으므로 good blog post regarding AppDomains이라고 썼습니다.

+0

나는 많은 독서를하고있는 것처럼 보입니다. 나를 올바른 방향으로 향하게 해줘서 고마워. –

관련 문제