Freigeben über


Codezugriffssicherheit für ClickOnce-Anwendungen

ClickOnce-Anwendungen basieren auf .NET Framework und unterliegen den Einschränkungen aufgrund der Codezugriffssicherheit. Aus diesem Grund ist es wichtig, dass Sie sich mit dem Thema Codezugriffssicherheit auseinander setzen und Ihre Erkenntnisse beim Schreiben von ClickOnce-Anwendungen berücksichtigen.

Mithilfe der Codezugriffssicherheit in .NET Framework wird der Zugriff von Code auf geschützte Ressourcen und Operationen eingeschränkt. Sie sollten die Berechtigungen für die Codezugriffssicherheit für ClickOnce-Anwendungen konfigurieren, um die geeignete Zone für den Speicherort des Installationsprogramms der Anwendung zu verwenden. In den meisten Fällen können Sie die Zone Internet für einen beschränkten Satz von Berechtigungen oder die Zone Lokales Intranet für einen umfangreicheren Satz von Berechtigungen auswählen.

Standard-Codezugriffssicherheit von ClickOnce

Eine ClickOnce-Anwendung erhält bei Installation oder Ausführung auf einem Clientcomputer standardmäßig die Berechtigung Voll vertrauenswürdig.

  • Eine Anwendung mit der Berechtigung Voll vertrauenswürdig hat uneingeschränkten Zugriff auf Ressourcen wie das Dateisystem und die Registrierung. Dadurch kann Ihre Anwendung (und das System des Endbenutzers) von Code ausgenutzt werden, der in bösartiger Absicht erstellt wurde.

  • Wenn eine Anwendung die Berechtigung Voll vertrauenswürdig benötigt, wird der Endbenutzer aufgefordert, der Anwendung diese Berechtigung zu gewähren. Das bedeutet, dass die Anwendung nicht durchgängig nach dem ClickOnce-Prinzip arbeitet und weniger erfahrene Benutzer durch solche Aufforderungen verwirrt werden können.

    Tipp

    Bei der Installation einer Anwendung von Wechselmedien (z. B. einer CD-ROM) wird keine Aufforderung angezeigt. Darüber hinaus können Netzwerkadministratoren Netzwerkrichtlinien so konfigurieren, dass keine Aufforderung bei der Installation einer Anwendung von einer vertrauenswürdigen Quelle angezeigt wird. Weitere Informationen finden Sie unter Überblick über die Bereitstellung vertrauenswürdiger Anwendungen.

Um die Berechtigungen für eine ClickOnce-Anwendung einzuschränken, können Sie die Berechtigungen für die Codezugriffssicherheit für Ihre Anwendung bearbeiten, um die Zone mit den am besten geeigneten Berechtigungen zum Ausführen der Anwendung anzufordern. In den meisten Fällen können Sie die Zone auswählen, von der die Anwendung bereitgestellt wird. Wenn die Anwendung beispielsweise eine Unternehmensanwendung ist, können Sie die Zone Lokales Intranet verwenden. Wenn die Anwendung eine Internetanwendung ist, können Sie die Zone Internet verwenden.

Konfigurieren von Sicherheitsberechtigungen

Sie sollten ClickOnce-Anwendungen stets so konfigurieren, dass sie die geeignete Zone anfordern, um die Berechtigungen für die Codezugriffssicherheit einzuschränken. Sie können Sicherheitsberechtigungen im Projekt-Designer auf der Seite Sicherheit konfigurieren.

Im Projekt-Designer befindet sich auf der Seite Sicherheit das Kontrollkästchen ClickOnce-Sicherheitseinstellungen aktivieren. Wenn dieses Kontrollkästchen aktiviert ist, werden dem Bereitstellungsmanifest der Anwendung Sicherheitsberechtigungsanforderungen hinzugefügt. Bei der Installation wird der Benutzer aufgefordert, Berechtigungen zu gewähren, wenn die angeforderten Berechtigungen über die Standardberechtigungen für die Zone hinausgehen, aus der die Anwendung bereitgestellt wird. Weitere Informationen finden Sie unter Gewusst wie: Aktivieren von ClickOnce-Sicherheitseinstellungen.

Von anderen Speicherorten bereitgestellten Anwendungen werden ohne Aufforderung andere Berechtigungsebenen gewährt. Wird eine Anwendung beispielsweise aus dem Internet bereitgestellt, erhält sie einen sehr eingeschränkten Satz von Berechtigungen. Wird sie aus dem lokalen Intranet installiert, erhält sie mehr Berechtigungen, und bei der Installation von einer CD-ROM erhält sie die Berechtigungen für volle Vertrauenswürdigkeit.

Als Ausgangspunkt zum Konfigurieren von Berechtigungen können Sie eine Sicherheitszone in der Liste Zone auf der Seite Sicherheit auswählen. Wenn die Anwendung voraussichtlich aus mehreren Zonen bereitgestellt wird, wählen Sie die Zone mit den geringsten Berechtigungen aus. Weitere Informationen finden Sie unter Gewusst wie: Festlegen einer Sicherheitszone für eine ClickOnce-Anwendung.

Die Eigenschaften variieren je nach Berechtigungssatz. Nicht alle Berechtigungssätze haben konfigurierbare Eigenschaften. Weitere Informationen zur vollständigen Liste von Berechtigungen, die die Anwendung anfordern kann, finden Sie unter System.Security.Permissions. Weitere Informationen über das Festlegen von Berechtigungen für eine benutzerdefinierte Zone finden Sie unter Gewusst wie: Festlegen benutzerdefinierter Berechtigungen für eine ClickOnce-Anwendung.

Debuggen einer Anwendung mit eingeschränkten Berechtigungen

Als Entwickler arbeiten Sie an Ihrem Entwicklungscomputer höchstwahrscheinlich mit Berechtigungen für volle Vertrauenswürdigkeit. Daher werden Ihnen beim Debuggen der Anwendung nicht dieselben Sicherheitsausnahmen angezeigt wie den Benutzern, wenn diese die Anwendung mit eingeschränkten Berechtigungen ausführen.

Um diese Ausnahmen behandeln zu können, müssen Sie die Anwendung mit denselben Berechtigungen debuggen, über die der Endbenutzer verfügt. Das Debuggen mit eingeschränkten Berechtigungen kann im Projekt-Designer auf der Seite Sicherheit aktiviert werden.

Beim Debuggen einer Anwendung mit eingeschränkten Berechtigungen werden für alle Sicherheitsanforderungen Ausnahmen ausgelöst, die auf der Seite Sicherheit nicht aktiviert wurden. Es wird eine Ausnahmen-Hilfe angezeigt, die Vorschläge zur Änderung des Codes anbietet, um die Ausnahme zu verhindern.

Darüber hinaus werden im Code-Editor durch das IntelliSense-Feature beim Schreiben von Code alle Member deaktiviert, die nicht in den von Ihnen konfigurierten Sicherheitsberechtigungen eingeschlossen sind.

Weitere Informationen finden Sie unter Gewusst wie: Debuggen einer ClickOnce-Anwendung mit eingeschränkten Berechtigungen.

Sicherheitsberechtigungen für von einem Browser gehostete Anwendungen

Visual Studio stellt für WPF (Windows Presentation Foundation)-Anwendungen die folgenden Projekttypen zur Verfügung:

  • WPF-Windows-Anwendung

  • WPF-Webbrowseranwendung

  • WPF-Benutzerdefinierte Steuerelementbibliothek

  • WPF-Dienstbibliothek

Von diesen Projekttypen werden nur WPF-Webbrowseranwendungen von einem Webbrowser gehostet und benötigen daher spezielle Bereitstellungs- und Sicherheitseinstellungen. Diese Anwendungen verfügen über folgende Standardsicherheitseinstellungen:

  • ClickOnce-Sicherheitseinstellungen aktivieren

  • Teilweise vertrauenswürdige Anwendung

  • Internetzone (mit ausgewähltem Standardberechtigungssatz für WPF-Webbrowseranwendungen)

Im Dialogfeld Erweiterte Sicherheitseinstellungen ist das Kontrollkästchen Diese Anwendung mit dem ausgewählten Berechtigungssatz debuggen ausgewählt und deaktiviert. Das liegt daran, dass bei vom Browser gehosteten Anwendungen das Debuggen in einer Zone nicht deaktiviert werden kann. Weitere Informationen finden Sie unter Übersicht über WPF-XAML-Browseranwendungen.

Siehe auch

Aufgaben

Gewusst wie: Aktivieren von ClickOnce-Sicherheitseinstellungen

Gewusst wie: Festlegen einer Sicherheitszone für eine ClickOnce-Anwendung

Gewusst wie: Festlegen benutzerdefinierter Berechtigungen für eine ClickOnce-Anwendung

Gewusst wie: Debuggen einer ClickOnce-Anwendung mit eingeschränkten Berechtigungen

Referenz

Seite "Sicherheit", Projekt-Designer

Konzepte

Sichern von ClickOnce-Anwendungen

Überblick über die Bereitstellung vertrauenswürdiger Anwendungen