Dela via


Kodåtkomstsäkerhet för ClickOnce-program

ClickOnce-program baseras på .NET Framework och omfattas av säkerhetsbegränsningar för kodåtkomst. Därför är det viktigt att du förstår konsekvenserna av kodåtkomstsäkerhet och skriver dina ClickOnce-program i enlighet med detta.

Kodåtkomstsäkerhet är en mekanism i .NET Framework som hjälper till att begränsa den åtkomst som koden har till skyddade resurser och åtgärder. Du bör konfigurera kodåtkomstsäkerhetsbehörigheter för ditt ClickOnce-program för att använda zonen som är lämplig för platsen för programinstallationsprogrammet. I de flesta fall kan du välja Internetzonen för en begränsad uppsättning behörigheter eller zonen Lokalt intranät för en större uppsättning behörigheter.

Anmärkning

I ClickOnce för .NET Core och .NET 5 eller senare stöds inte Code Access Security. I .NET Framework är användningen av Code Access Security inte en bra metod och rekommenderas inte.

Standardsäkerhet för ClickOnce-kodåtkomst

Som standard får ett ClickOnce-program fullständiga förtroendebehörigheter när det installeras eller körs på en klientdator.

  • Ett program som har fullständig förtroendebehörighet har obegränsad åtkomst till resurser som filsystemet och registret. Detta kan göra att ditt program (och slutanvändarens system) kan utnyttjas av skadlig kod.

  • När ett program kräver fullständig förtroendebehörighet kan slutanvändaren uppmanas att bevilja behörigheter till programmet. Det innebär att programmet inte riktigt ger en ClickOnce-upplevelse, och uppmaningen kan vara förvirrande för mindre erfarna användare.

    Anmärkning

    När du installerar ett program från flyttbara medier, till exempel en CD-ROM, uppmanas inte användaren att göra det. Dessutom kan en nätverksadministratör konfigurera en nätverksprincip så att användarna inte uppmanas när de installerar ett program från en betrodd källa. Mer information finns i Översikt över distribution av betrodda program.

    Om du vill begränsa behörigheterna för ett ClickOnce-program kan du ändra säkerhetsbehörigheterna för kodåtkomst för ditt program för att begära den zon som bäst passar de behörigheter som programmet kräver. I de flesta fall kan du välja den zon som programmet distribueras från. Om ditt program till exempel är ett företagsprogram kan du använda zonen Lokalt intranät . Om ditt program är ett Internetprogram kan du använda zonen Internet .

Konfigurera säkerhetsbehörigheter

Du bör alltid konfigurera ditt ClickOnce-program för att begära rätt zon för att begränsa säkerhetsbehörigheterna för kodåtkomst. Du kan konfigurera säkerhetsbehörigheter på sidan Säkerhet i Projektdesignern.

Sidan Säkerhet i Projektdesignern innehåller kryssrutan Aktivera Säkerhetsinställningar för ClickOnce . När den här kryssrutan är markerad läggs begäranden om säkerhetsbehörighet till i distributionsmanifestet för ditt program. Vid installationen uppmanas användaren att bevilja behörigheter om de begärda behörigheterna överskrider standardbehörigheterna för den zon som programmet distribueras från. Mer information finns i Så här aktiverar du Säkerhetsinställningar för ClickOnce.

Program som distribueras från olika platser beviljas olika behörighetsnivåer utan att fråga. När ett program till exempel distribueras från Internet får det en mycket restriktiv uppsättning behörigheter. När det installeras från ett lokalt intranät får det fler behörigheter och när det installeras från en CD-ROM får det fullständiga förtroendebehörigheter.

Som utgångspunkt för att konfigurera behörigheter kan du välja en säkerhetszon i listan Zon på sidan Säkerhet . Om ditt program eventuellt kommer att distribueras från mer än en zon väljer du zonen med minst behörighet. Mer information finns i Så här: Ange en säkerhetszon för ett ClickOnce-program.

De egenskaper som kan anges varierar beroende på behörighetsuppsättning. alla behörighetsuppsättningar har inte konfigurerbara egenskaper. Mer information om den fullständiga listan över behörigheter som programmet kan begära finns i System.Security.Permissions. Mer information om hur du anger behörigheter för en anpassad zon finns i Så här anger du anpassade behörigheter för ett ClickOnce-program.

Felsöka ett program som har begränsade behörigheter

Som utvecklare kör du förmodligen utvecklingsdatorn med fullständig förtroendebehörighet. Därför visas inte samma säkerhetsfel när du felsöker programmet som användarna kan se när de kör det med begränsade behörigheter.

För att kunna fånga dessa undantag måste du felsöka programmet med samma behörigheter som slutanvändaren. Felsökning med begränsade behörigheter kan aktiveras på sidan Säkerhet i Projektdesignern.

När du felsöker ett program med begränsad behörighet genereras undantag för eventuella kodsäkerhetskrav som inte har aktiverats på sidan Säkerhet . En undantagshjälp visas med förslag på hur du ändrar koden för att förhindra undantaget.

När du skriver kod inaktiverar intelliSense-funktionen i kodredigeraren dessutom alla medlemmar som inte ingår i de säkerhetsbehörigheter som du har konfigurerat.

Mer information finns i Så här felsöker du ett ClickOnce-program med begränsade behörigheter.

Säkerhetsbehörigheter för webbläsarbaserade program

Visual Studio tillhandahåller följande projekttyper för WPF-program (Windows Presentation Foundation):

  • WPF Windows-applikation

  • WPF-webbläsarprogram

  • Anpassad WPF-kontrollbibliotek

  • WPF-tjänstbibliotek

    Av dessa projekttyper finns endast WPF-webbläsarprogram i en webbläsare och kräver därför särskilda distributions- och säkerhetsinställningar. Standardsäkerhetsinställningarna för dessa program är följande:

  • Aktivera Säkerhetsinställningar för ClickOnce

  • Det här är ett program med partiellt förtroende

  • Internetzon (med standardbehörighetsuppsättningen för WPF-webbläsarprogram vald)

    I dialogrutan Avancerade säkerhetsinställningar är kryssrutan Felsök det här programmet med den valda behörighetsuppsättningen markerad och inaktiverad. Det beror på att Felsökning i zonen inte kan stängas av för webbläsarbaserade program.