次の方法で共有


セキュリティと信頼

.NET Framework には、アプリケーションの起点に応じて異なる方法でアプリケーションを扱うセキュリティ モデルがあります。 ユーザーのマシンからの実行可能ファイルとアセンブリは、通常、完全信頼で実行されます。通常、インターネット経由で実行される同じ実行可能ファイルとアセンブリは、部分信頼で実行されます。 これは、悪意のあるコードが、ローカル ファイル、クリップボード内のアイテム、その他のリソースなど、アクセスできない情報の読み取りまたは変更を防ぐためです。 実行可能ファイルがアセンブリを呼び出し、特定のレベルの信頼を必要とする別のアセンブリを呼び出す場合は、チェーン内のすべてのコンポーネントの最低レベルの信頼が適用されます。 ただし、コンピューターの管理者は、既定のアクセス許可をオーバーライドする特定のアクセス許可を設定できます。

セキュリティ モデルの概要については 、「Secure、Light-Weight Client-Side Controls」を参照してください。セキュリティ モデルの詳細については、「 Code Access Security in Practice」を参照してください。 ライブラリのセキュリティの概要 (Web ページ上の UserControl オブジェクトでは特に重要) については、「 部分信頼コードからのライブラリの使用」を参照してください。また、マネージド コントロールに関するその他のセキュリティ情報については、「セキュリティで 保護されたマネージド コントロールの記述」を参照してください。

アクセス許可

Tablet PC Technologies API のほとんどのマネージド オブジェクトとメンバーには、次の 2 つの要件があります。

  • 実行は常に必要です。
  • InheritanceDemand セキュリティ アクションが実行される場合は、FullTrust が必要です。 つまり、派生クラスがクラスを継承するか、Tablet PC SDK からメソッドをオーバーライドする場合に、完全信頼が必要になります。

次の表に、追加のアクセス許可を必要とするクラスとメンバーを示します。 特定のクラスのアクセス許可は、この表に記載されていないすべてのメンバーにも適用されます。

クラスまたはメソッド アクセス許可
Canpaste UIPermissionClipboard.AllClipboard
Ink.ClipboardCopy UIPermissionClipboard.OwnClipboard
Ink.ClipboardPaste UIPermissionClipboard.AllClipboard
Inkcollector UIPermissionWindow.SafeTopLevelWindows
InkCollector(IntPtr) UIPermissionWindow.SafeTopLevelWindowsSecurityPermissionFlag.UnmanagedCode
InkCollector.Handle UIPermissionWindow.AllWindowsSecurityPermissionFlag.UnmanagedCode (下記の注を参照)
Inkedit UIPermissionWindow.SafeTopLevelWindows
Inkoverlay UIPermissionWindow.SafeTopLevelWindows
InkOverlay(IntPtr) UIPermissionWindow.SafeTopLevelWindows と SecurityPermissionFlag.UnmanagedCode
InkOverlay.Handle UIPermissionWindow.AllWindowsSecurityPermissionFlag.UnmanagedCode (下記の注を参照)
Inkpicture UIPermissionWindow.SafeTopLevelWindows
Peninputpanel 下記の「注意」を参照。
InkRenderer UIPermissionWindow.SafeTopLevelWindows
DrawDrawStroke UIPermissionWindow.SafeTopLevelWindowsSecurityPermissionFlag.UnmanagedCode
Renderer.InkSpaceToPixel(IntPtr,Point), Renderer.InkSpaceToPixel(IntPtr,Point[]) UIPermissionWindow.SafeTopLevelWindowsSecurityPermissionFlag.UnmanagedCode
Renderer.PixelToInkSpace(IntPtr,Point), Renderer.PixelToInkSpace(IntPtr,Point[]) UIPermissionWindow.SafeTopLevelWindowsSecurityPermissionFlag.UnmanagedCode
DynamicRenderer UIPermissionWindow.SafeTopLevelWindows
DynamicRenderer(IntPtr) UIPermissionWindow.SafeTopLevelWindowsSecurityPermissionFlag.UnmanagedCode
Realtimestylus UIPermissionWindow.SafeTopLevelWindows
RealTimeStylus(IntPtr)、RealTimeStylus(IntPtr,Boolean)、RealTimeStylus(IntPtr,Tablet) UIPermissionWindow.AllWindowsSecurityPermissionFlag.UnmanagedCode

 

Note

通常、コンストラクターにはハンドル (IntPtr) ではなくコントロールを使用することをお勧めします。これは、コントロールに必要なアクセス許可が少ないためです。 同様に、 Renderer.DrawRenderer.InkSpaceToPixelRenderer.PixelToInkSpace のハンドルではなく、Graphics オブジェクトを使用することをお勧めしています。

 

Note

InkCollector.Handle プロパティと InkOverlay.Handle プロパティは、ハンドルがWindows フォーム コントロールに対する場合は SecurityPermissionFlag.UnmanagedCode アクセス許可を必要としませんが、他のウィンドウに対しては必要です。

 

Note

PenInputPanel クラスの場合、次のメソッドとプロパティには SecurityPermissionFlag.AllFlags が必要です。PenInputPanel(IntPtr)、AttachedEditWindowBusyCommitPendingInputCurrentPanel、DefaultPanelEnableTsfFactoidHeightHorizontalOffsetInputFailedLeftMoveToPanelChangedPanelMovingRefreshTopVerticalOffsetVisibleVisibleChanged、Width。

 

その他の注意事項

その他の既知のセキュリティに関する考慮事項は次のとおりです。

  • Web コントロールが正常に動作するには、Microsoft インターネット エクスプローラー 6 以上が必要です。 Internet エクスプローラー 5.5 では、初期マネージド コントロールのみが読み込まれます。実行時に追加のコントロールを動的に読み込むことはできません。
  • Windows XP Service Pack 2 (SP2) と CLR1.0 を使用している場合は、インターネットで Web コントロールを使用エクスプローラー、イントラネット ゾーン内にある場合でも、サイトを信頼済みサイトとして追加する必要があります。 ただし、この操作を行うと、イントラネット ゾーンでは実行されますが、信頼済みサイト ゾーンでは実行されなくなります。 この問題は CLR1.1 で修正されています。