Udostępnij za pośrednictwem


Zabezpieczenia dostępu kodu dla aplikacji ClickOnce

Aplikacje ClickOnce są oparte na programie .NET Framework i podlegają ograniczeniom zabezpieczeń dostępu do kodu. Z tego powodu ważne jest, aby zrozumieć implikacje zabezpieczeń dostępu do kodu i odpowiednio napisać aplikacje ClickOnce.

Zabezpieczenia dostępu do kodu to mechanizm w programie .NET Framework, który pomaga ograniczyć dostęp do chronionych zasobów i operacji. Należy skonfigurować uprawnienia zabezpieczeń dostępu do kodu dla aplikacji ClickOnce tak, aby korzystała ze strefy odpowiedniej dla lokalizacji instalatora aplikacji. W większości przypadków można wybrać strefę internetową dla ograniczonego zestawu uprawnień lub strefy Lokalny intranet w celu uzyskania większego zestawu uprawnień.

Uwaga

W technologii ClickOnce dla platform .NET Core i .NET 5 lub nowszych ta funkcja nie jest obsługiwana. Aby uzyskać więcej informacji, zobacz ClickOnce dla platformy .NET.

Domyślne zabezpieczenia dostępu do kodu ClickOnce

Domyślnie aplikacja ClickOnce otrzymuje uprawnienia Pełne zaufanie po zainstalowaniu lub uruchomieniu na komputerze klienckim.

  • Aplikacja, która ma uprawnienia Pełne zaufanie, ma nieograniczony dostęp do zasobów, takich jak system plików i rejestr. Potencjalnie umożliwia to wykorzystanie aplikacji (i systemu użytkownika końcowego) przez złośliwy kod.

  • Gdy aplikacja wymaga uprawnień Pełne zaufanie, użytkownik końcowy może zostać poproszony o przyznanie uprawnień aplikacji. Oznacza to, że aplikacja nie zapewnia naprawdę środowiska ClickOnce, a monit może być potencjalnie mylący dla mniej doświadczonych użytkowników.

    Uwaga

    Podczas instalowania aplikacji z nośnika wymiennego, takiego jak dysk CD-ROM, użytkownik nie jest monitowany. Ponadto administrator sieci może skonfigurować zasady sieciowe, aby użytkownicy nie byli monitowani podczas instalowania aplikacji z zaufanego źródła. Aby uzyskać więcej informacji, zobacz Omówienie wdrażania zaufanych aplikacji.

    Aby ograniczyć uprawnienia aplikacji ClickOnce, możesz zmodyfikować uprawnienia zabezpieczeń dostępu do kodu dla aplikacji, aby zażądać strefy, która najlepiej pasuje do uprawnień wymaganych przez aplikację. W większości przypadków można wybrać strefę, z której aplikacja jest wdrażana. Jeśli na przykład aplikacja jest aplikacją dla przedsiębiorstw, możesz użyć strefy Lokalny intranet . Jeśli aplikacja jest aplikacją internetową, możesz użyć strefy internetowej .

Konfigurowanie uprawnień zabezpieczeń

Zawsze należy skonfigurować aplikację ClickOnce, aby zażądała odpowiedniej strefy, aby ograniczyć uprawnienia zabezpieczeń dostępu do kodu. Uprawnienia zabezpieczeń można skonfigurować na stronie Zabezpieczenia Projektant projektu.

Strona Zabezpieczenia w Projektant project zawiera pole wyboru Włącz Ustawienia zabezpieczeń ClickOnce. Po wybraniu tego pola wyboru żądania uprawnień zabezpieczeń są dodawane do manifestu wdrożenia aplikacji. W czasie instalacji użytkownik zostanie poproszony o udzielenie uprawnień, jeśli żądane uprawnienia przekraczają domyślne uprawnienia dla strefy, z której jest wdrażana aplikacja. Aby uzyskać więcej informacji, zobacz How to: Enable ClickOnce security settings (Instrukcje: włączanie ustawień zabezpieczeń technologii ClickOnce).

Aplikacje wdrożone z różnych lokalizacji mają różne poziomy uprawnień bez monitowania. Na przykład gdy aplikacja jest wdrażana z Internetu, otrzymuje bardzo restrykcyjny zestaw uprawnień. Po zainstalowaniu z lokalnego intranetu otrzymuje więcej uprawnień, a po zainstalowaniu z dysku CD-ROM otrzymuje uprawnienia Pełna relacja zaufania.

Jako punkt wyjścia do konfigurowania uprawnień możesz wybrać strefę zabezpieczeń z listy Strefa na stronie Zabezpieczenia . Jeśli aplikacja będzie potencjalnie wdrażana z więcej niż jednej strefy, wybierz strefę z najmniejszymi uprawnieniami. Aby uzyskać więcej informacji, zobacz How to: Set a security zone for a ClickOnce application (Instrukcje: ustawianie strefy zabezpieczeń dla aplikacji ClickOnce).

Właściwości, które można ustawić, różnią się w zależności od zestawu uprawnień; nie wszystkie zestawy uprawnień mają konfigurowalne właściwości. Aby uzyskać więcej informacji na temat pełnej listy uprawnień, których aplikacja może zażądać, zobacz System.Security.Permissions. Aby uzyskać więcej informacji na temat ustawiania uprawnień dla strefy niestandardowej, zobacz Jak ustawić uprawnienia niestandardowe dla aplikacji ClickOnce.

Debugowanie aplikacji z ograniczonymi uprawnieniami

Jako deweloper najprawdopodobniej uruchomisz komputer dewelopera z uprawnieniami Pełnego zaufania. W związku z tym nie widzisz tych samych wyjątków zabezpieczeń podczas debugowania aplikacji, którą użytkownicy mogą zobaczyć po uruchomieniu jej z ograniczonymi uprawnieniami.

Aby przechwycić te wyjątki, należy debugować aplikację z tymi samymi uprawnieniami co użytkownik końcowy. Debugowanie z ograniczonymi uprawnieniami można włączyć na stronie Zabezpieczenia Projektant projektu.

Podczas debugowania aplikacji z ograniczonymi uprawnieniami wyjątki będą zgłaszane dla wszystkich żądań zabezpieczeń kodu, które nie zostały włączone na stronie Zabezpieczenia . Zostanie wyświetlony pomocnik wyjątku, podając sugestie dotyczące sposobu modyfikowania kodu, aby zapobiec wystąpieniu wyjątku.

Ponadto podczas pisania kodu funkcja IntelliSense w Edytorze kodu wyłączy wszystkie elementy członkowskie, które nie są uwzględnione w skonfigurowanych uprawnieniach zabezpieczeń.

Aby uzyskać więcej informacji, zobacz How to: Debug a ClickOnce Application with Restricted Permissions (Instrukcje: debugowanie aplikacji ClickOnce z ograniczonymi uprawnieniami).

Uprawnienia zabezpieczeń dla aplikacji hostowanych w przeglądarce

Program Visual Studio udostępnia następujące typy projektów dla aplikacji Windows Presentation Foundation (WPF):

  • Aplikacja WPF systemu Windows

  • Aplikacja przeglądarki internetowej WPF

  • Biblioteka kontrolek niestandardowych WPF

  • Biblioteka usług WPF

    Spośród tych typów projektów tylko aplikacje przeglądarki internetowej WPF są hostowane w przeglądarce sieci Web i dlatego wymagają specjalnych ustawień wdrażania i zabezpieczeń. Domyślne ustawienia zabezpieczeń dla tych aplikacji są następujące:

  • Włączanie Ustawienia zabezpieczeń technologii ClickOnce

  • Jest to aplikacja częściowo zaufania

  • Strefa internetowa (z domyślnym zestawem uprawnień dla wybranych aplikacji przeglądarki internetowej WPF)

    W oknie dialogowym Advanced Security Ustawienia pole wyboru Debuguj tę aplikację z wybranym zestawem uprawnień jest zaznaczone i wyłączone. Dzieje się tak, ponieważ nie można wyłączyć debugowania w strefie dla aplikacji hostowanych w przeglądarce.