보안 및 신뢰
.NET Framework에는 출처에 따라 응용 프로그램을 다르게 처리하는 보안 모델이 있습니다. 사용자 컴퓨터의 실행 파일 및 어셈블리는 일반적으로 완전 신뢰로 실행됩니다. 인터넷을 통해 실행되는 동일한 실행 파일 및 어셈블리는 일반적으로 부분 신뢰로 실행됩니다. 이는 악의적인 코드가 로컬 파일, 클립보드의 항목 및 기타 리소스와 같이 액세스 권한이 없어야 하는 정보를 읽거나 수정하지 못하도록 하기 위한 것입니다. 실행 파일이 어셈블리를 호출하고 특정 수준의 신뢰가 필요한 다른 어셈블리를 호출하는 경우 체인의 모든 구성 요소 중 가장 낮은 신뢰 수준이 적용됩니다. 그러나 컴퓨터의 관리자는 기본 권한을 재정의하는 특정 권한을 설정할 수 있습니다.
보안 모델의 개요는 보안, Light-Weight Client-Side 컨트롤에 제공되며 , 실제로 코드 액세스 보안에서 보안 모델에 대한 자세한 내용을 얻을 수 있습니다. 라이브러리의 보안에 대한 좋은 개요(웹 페이지의 UserControl 개체에 특히 중요함)는 부분적으로 신뢰할 수 있는 코드의 라이브러리 사용에서 찾을 수 있으며 관리되는 컨트롤에 대한 기타 보안 정보는 보안 관리형 컨트롤 작성에서 찾을 수 있습니다.
사용 권한
태블릿 PC 기술 API의 대부분의 관리되는 개체 및 멤버에는 다음 두 가지 요구 사항이 있습니다.
- 실행은 항상 필요합니다.
- InheritanceDemand 보안 작업이 수행되는 경우 FullTrust가 필요합니다. 즉, 파생 클래스가 클래스를 상속하거나 Tablet PC SDK에서 메서드를 재정의하는 경우 완전 신뢰가 필요합니다.
다음 표에는 추가 권한이 필요한 클래스 및 멤버가 나열되어 있습니다. 지정된 클래스에 대한 사용 권한은 이 테이블에 나열되지 않은 모든 멤버에도 적용됩니다.
참고
일반적으로 컨트롤에는 사용 권한이 더 적기 때문에 생성자에 대한 핸들(IntPtr)이 아닌 컨트롤을 사용하는 것이 좋습니다. 마찬가지로 Renderer.Draw, Renderer.InkSpaceToPixel 및 Renderer.PixelToInkSpace에 대한 핸들보다는 Graphics 개체를 사용하는 것이 좋습니다.
참고
InkCollector.Handle 및 InkOverlay.Handle 속성은 핸들이 Windows Forms 컨트롤에 대한 경우 SecurityPermissionFlag.UnmanagedCode 권한이 필요하지 않지만 다른 창에 대해 수행합니다.
참고
PenInputPanel 클래스의 경우 다음 메서드와 속성에는 SecurityPermissionFlag.AllFlags가 필요합니다. PenInputPanel(IntPtr), AttachedEditWindow, Busy, CommitPendingInput, CurrentPanel, DefaultPanel, EnableTsf, Factoid, Height, HorizontalOffset, InputFailed, Left, MoveTo, PanelChanged, PanelMoving, Refresh , Top, VerticalOffset, Visible, VisibleChanged 및 Width.
기타 고려 사항
다른 알려진 보안 고려 사항은 다음과 같습니다.
- 웹 컨트롤이 제대로 작동하려면 Microsoft 인터넷 Explorer 6 이상이 필요합니다. 인터넷 Explorer 5.5에서는 초기 관리형 컨트롤만 로드되므로 런타임에 추가 컨트롤을 동적으로 로드할 수 없습니다.
- Windows XP SP2(서비스 팩 2) 및 CLR1.0을 사용하는 경우 인터넷 Explorer 웹 컨트롤을 사용하려면 인트라넷 영역에 있더라도 사이트를 신뢰할 수 있는 사이트로 추가해야 합니다. 그러나 이렇게 하면 인트라넷 영역에서 실행되지만 신뢰할 수 있는 사이트 영역에서는 더 이상 실행되지 않습니다. 이 문제는 CLR1.1에서 해결되었습니다.