Sicherheit und Vertrauensstellung
.NET Framework verfügt über ein Sicherheitsmodell, von dem Anwendungen je nach ihrem Ursprung verschieden behandelt werden. Ausführbare Dateien und Assemblys, die vom Computer eines Benutzers stammen, werden in der Regel mit voller Vertrauenswürdigkeit ausgeführt. die gleichen ausführbaren Dateien und Assemblys, die über das Internet ausgeführt werden, werden in der Regel mit teilweiser Vertrauenswürdigkeit ausgeführt. Dadurch soll verhindert werden, dass schädlicher Code Informationen liest oder ändert, auf die er keinen Zugriff haben sollte, z. B. lokale Dateien, Elemente in der Zwischenablage und andere Ressourcen. Wenn eine ausführbare Datei eine Assembly aufruft, die wiederum eine andere Assembly aufruft, die eine bestimmte Vertrauensebene erfordert, wird die niedrigste Vertrauensebene aller Komponenten in der Kette angewendet. Ein Administrator auf einem Computer kann jedoch bestimmte Berechtigungen festlegen, die die Standardberechtigungen überschreiben.
Eine Übersicht über das Sicherheitsmodell finden Sie unter Secure, Light-Weight Client-Side Controls. Ausführlichere Informationen zum Sicherheitsmodell finden Sie unter Codezugriffssicherheit inder Praxis. Eine gute Übersicht über die Sicherheit von Bibliotheken (die insbesondere für UserControl-Objekte auf einer Webseite wichtig ist) finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigen Code.Weitere Sicherheitsinformationen zu verwalteten Steuerelementen finden Sie unter Schreiben sicherer verwalteter Steuerelemente.
Berechtigungen
Die meisten verwalteten Objekte und Member in der Api für Tablet PC-Technologien haben zwei Anforderungen:
- Die Ausführung ist immer erforderlich.
- FullTrust ist erforderlich, wenn die Vererbungsdemand-Sicherheitsaktion durchgeführt wird. Dies bedeutet, dass volle Vertrauenswürdigkeit erforderlich ist, wenn eine abgeleitete Klasse eine Klasse erbt oder eine Methode vom Tablet PC SDK überschreibt.
In der folgenden Tabelle sind die Klassen und Member aufgeführt, die zusätzliche Berechtigungen erfordern. Die Berechtigungen für eine bestimmte Klasse gelten auch für alle Member, die in dieser Tabelle nicht aufgeführt sind.
Hinweis
Es ist im Allgemeinen vorzuziehen, ein Steuerelement anstelle eines Handles (IntPtr) für Konstruktoren zu verwenden, da Steuerelemente weniger Berechtigungen erfordern. Ebenso ist es besser, ein Graphics-Objekt anstelle eines Handles für Renderer.Draw, Renderer.InkSpaceToPixel und Renderer.PixelToInkSpace zuverwenden.
Hinweis
Die Eigenschaften InkCollector.Handle und InkOverlay.Handle erfordern keine SecurityPermissionFlag.UnmanagedCode-Berechtigung, wenn das Handle für ein Windows Forms-Steuerelement, aber für andere Fenster vorgesehen ist.
Hinweis
Für die PenInputPanel-Klasse erfordern die folgenden Methoden und Eigenschaften SecurityPermissionFlag.AllFlags:PenInputPanel(IntPtr), AttachedEditWindow, Busy, CommitPendingInput, CurrentPanel, DefaultPanel, EnableTsf, Factoid, Height, HorizontalOffset, InputFailed, Left, MoveTo, PanelChanged, PanelMoving, Refresh, Top, VerticalOffset, Visible, VisibleChangedund Width.
Weitere Überlegungen
Einige andere bekannte Sicherheitsüberlegungen sind:
- Microsoft Internet Explorer 6 oder höher ist erforderlich, damit Websteuerelemente ordnungsgemäß funktionieren. Mit Internet Explorer 5.5 werden nur anfänglich verwaltete Steuerelemente geladen. Sie können zur Laufzeit keine zusätzlichen Steuerelemente dynamisch laden.
- Wenn Sie Windows XP Service Pack 2 (SP2) und CLR1.0 verwenden, müssen Websteuerelemente in Internet Explorer die Website als vertrauenswürdige Website hinzufügen, auch wenn sie sich in der Intranetzone befinden. Wenn Sie dies tun, werden sie jedoch nicht mehr in der Zone "Vertrauenswürdige Website" ausgeführt, obwohl sie in der Intranetzone ausgeführt werden. Dieses Problem wurde mit CLR1.1 behoben.