Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
ClickOnce-toepassingen zijn gebaseerd op .NET Framework en zijn onderhevig aan beveiligingsbeperkingen voor codetoegang. Daarom is het belangrijk dat u begrijpt wat de gevolgen zijn van de beveiliging van codetoegang en dat u uw ClickOnce-toepassingen dienovereenkomstig schrijft.
Beveiliging van codetoegang is een mechanisme in .NET Framework waarmee de toegang wordt beperkt die code heeft tot beveiligde resources en bewerkingen. U moet de beveiligingsmachtigingen voor codetoegang voor uw ClickOnce-toepassing configureren om de zone te gebruiken die geschikt is voor de locatie van het installatieprogramma van de toepassing. In de meeste gevallen kunt u de internetzone kiezen voor een beperkte set machtigingen of de zone Lokaal intranet voor een grotere set machtigingen.
Opmerking
In ClickOnce voor .NET Core en .NET 5 of hoger wordt codetoegangsbeveiliging niet ondersteund. In .NET Framework is het gebruik van Code Access Security geen best practice en wordt het niet aanbevolen.
Standaardbeveiliging voor ClickOnce-codetoegang
Een ClickOnce-toepassing ontvangt standaard machtigingen voor Volledig vertrouwen wanneer deze wordt geïnstalleerd of uitgevoerd op een clientcomputer.
Een toepassing met machtigingen voor Volledig vertrouwen heeft onbeperkte toegang tot resources zoals het bestandssysteem en het register. Hierdoor kunnen uw toepassing (en het systeem van de eindgebruiker) worden misbruikt door schadelijke code.
Wanneer een toepassing machtigingen voor volledig vertrouwen vereist, kan de eindgebruiker worden gevraagd om machtigingen aan de toepassing te verlenen. Dit betekent dat de toepassing niet echt een ClickOnce-ervaring biedt en de prompt mogelijk verwarrend kan zijn voor minder ervaren gebruikers.
Opmerking
Wanneer u een toepassing installeert vanaf verwisselbare media zoals een CD-ROM, wordt de gebruiker niet gevraagd. Bovendien kan een netwerkbeheerder netwerkbeleid configureren, zodat gebruikers niet worden gevraagd wanneer ze een toepassing installeren vanuit een vertrouwde bron. Zie het overzicht van de implementatie van vertrouwde toepassingen voor meer informatie.
Als u de machtigingen voor een ClickOnce-toepassing wilt beperken, kunt u de beveiligingsmachtigingen voor codetoegang voor uw toepassing wijzigen om de zone aan te vragen die het beste past bij de machtigingen die uw toepassing nodig heeft. In de meeste gevallen kunt u de zone selecteren waaruit de toepassing wordt geïmplementeerd. Als uw toepassing bijvoorbeeld een bedrijfstoepassing is, kunt u de zone Lokaal intranet gebruiken. Als uw toepassing een internettoepassing is, kunt u de internetzone gebruiken.
Beveiligingsmachtigingen configureren
U moet uw ClickOnce-toepassing altijd configureren om de juiste zone aan te vragen om de beveiligingsmachtigingen voor codetoegang te beperken. U kunt beveiligingsmachtigingen configureren op de pagina Beveiliging van projectontwerper.
De pagina Beveiliging in Projectontwerper bevat het selectievakje ClickOnce-beveiligingsinstellingen inschakelen . Wanneer dit selectievakje is ingeschakeld, worden beveiligingsmachtigingsaanvragen toegevoegd aan het implementatiemanifest voor uw toepassing. Tijdens de installatie wordt de gebruiker gevraagd machtigingen te verlenen als de aangevraagde machtigingen groter zijn dan de standaardmachtigingen voor de zone waaruit de toepassing wordt geïmplementeerd. Zie Procedure: ClickOnce-beveiligingsinstellingen inschakelen voor meer informatie.
Toepassingen die vanaf verschillende locaties zijn geïmplementeerd, krijgen verschillende machtigingsniveaus zonder te vragen. Wanneer een toepassing bijvoorbeeld via internet wordt geïmplementeerd, ontvangt deze een zeer beperkende set machtigingen. Wanneer het is geïnstalleerd vanaf een lokaal intranet, ontvangt het meer machtigingen en wanneer het is geïnstalleerd vanaf een cd-rom, ontvangt het machtigingen voor volledig vertrouwen.
Als uitgangspunt voor het configureren van machtigingen kunt u een beveiligingszone selecteren in de lijst Zone op de pagina Beveiliging . Als uw toepassing mogelijk wordt geïmplementeerd vanuit meer dan één zone, selecteert u de zone met de minste machtigingen. Zie Instructies voor meer informatie : Een beveiligingszone instellen voor een ClickOnce-toepassing.
De eigenschappen die kunnen worden ingesteld, variëren per machtigingenset; niet alle machtigingensets hebben configureerbare eigenschappen. Zie voor meer informatie over de volledige lijst met machtigingen die uw toepassing kan aanvragen System.Security.Permissions. Zie Procedure voor meer informatie over het instellen van machtigingen voor een aangepaste zone: Aangepaste machtigingen instellen voor een ClickOnce-toepassing.
Fouten opsporen in een toepassing met beperkte machtigingen
Als ontwikkelaar gebruikt u waarschijnlijk uw ontwikkelcomputer met volledige vertrouwensmachtigingen. Daarom ziet u niet dezelfde beveiligingsuitzonderingen wanneer u fouten opspoort in de toepassing die gebruikers mogelijk zien wanneer ze deze uitvoeren met beperkte machtigingen.
Als u deze uitzonderingen wilt ondervangen, moet u fouten opsporen in de toepassing met dezelfde machtigingen als de eindgebruiker. Foutopsporing met beperkte machtigingen kan worden ingeschakeld op de pagina Beveiliging van projectontwerper.
Wanneer u fouten opssport in een toepassing met beperkte machtigingen, worden uitzonderingen gegenereerd voor eventuele codebeveiligingsvereisten die niet zijn ingeschakeld op de pagina Beveiliging . Er wordt een helper voor uitzonderingen weergegeven met suggesties voor het wijzigen van uw code om de uitzondering te voorkomen.
Wanneer u code schrijft, worden met de Functie IntelliSense in de Code-editor bovendien alle leden uitgeschakeld die niet zijn opgenomen in de beveiligingsmachtigingen die u hebt geconfigureerd.
Voor meer informatie, zie: Fouten opsporen in een ClickOnce-toepassing met beperkte machtigingen.
Beveiligingsmachtigingen voor door browsers gehoste toepassingen
Visual Studio biedt de volgende projecttypen voor WPF-toepassingen (Windows Presentation Foundation):
WPF Windows-applicatie
WPF-webbrowsertoepassing
Aangepaste bibliotheek voor WPF-besturingselementen
WPF-servicebibliotheek
Van deze projecttypen worden alleen WPF-webbrowsertoepassingen gehost in een webbrowser en vereisen daarom speciale implementatie- en beveiligingsinstellingen. De standaardbeveiligingsinstellingen voor deze toepassingen zijn als volgt:
ClickOnce-beveiligingsinstellingen inschakelen
Dit is een gedeeltelijke vertrouwenstoepassing
Internetzone (met standaardmachtigingen ingesteld voor WPF-webbrowsertoepassingen geselecteerd)
In het dialoogvenster Geavanceerde beveiligingsinstellingen is het selectievakje Fouten opsporen in deze toepassing met de geselecteerde machtigingenset ingeschakeld en uitgeschakeld. Dit komt doordat foutopsporing in zone niet kan worden uitgeschakeld voor door de browser gehoste toepassingen.
Verwante inhoud
- Secure ClickOnce-toepassingen
- ClickOnce-beveiligingsinstellingen inschakelen en configureren
- Een beveiligingszone instellen voor een ClickOnce-toepassing
- Aangepaste machtigingen instellen voor een ClickOnce-toepassing
- Fouten opsporen in een ClickOnce-toepassing met beperkte machtigingen
- Overzicht van implementatie van vertrouwde toepassingen
- Beveiligingspagina, Projectontwerper