Gebruikersaccountbeheer
Notitie
Deze ontwerphandleiding is gemaakt voor Windows 7 en is niet bijgewerkt voor nieuwere versies van Windows. Veel van de richtlijnen zijn in principe nog steeds van toepassing, maar de presentatie en voorbeelden weerspiegelen niet onze huidige ontwerprichtlijnen.
Een goed ontworpen ervaring voor gebruikersaccountbeheer helpt ongewenste systeembrede wijzigingen te voorkomen op een manier die voorspelbaar is en minimale inspanning vereist.
Als gebruikersaccountbeheer (UAC) volledig is ingeschakeld, worden interactieve beheerders normaal gesproken uitgevoerd met minimale gebruikersbevoegdheden, maar ze kunnen zelf beheertaken uitvoeren door expliciet toestemming te geven met de gebruikersinterface voor toestemming. Dergelijke beheertaken omvatten het installeren van software en stuurprogramma's, het wijzigen van systeembrede instellingen, het weergeven of wijzigen van andere gebruikersaccounts en het uitvoeren van beheerhulpprogramma's.
In hun status met minimale bevoegdheden worden beheerders aangeduid als beveiligde beheerders. In hun verhoogde status worden ze aangeduid als verhoogde beheerders. Standaardgebruikers kunnen daarentegen niet zelf uitbreiden, maar ze kunnen een beheerder vragen om ze te verhogen met behulp van de referentiegebruikersinterface. Voor het ingebouwde administratoraccount is geen uitbreiding vereist.
De gebruikersinterface voor toestemming, die wordt gebruikt om beveiligde beheerders te verhogen met beheerdersbevoegdheden.
De referentiegebruikersinterface, die wordt gebruikt om standaardgebruikers te verhogen.
UAC biedt de volgende voordelen:
- Het vermindert het aantal programma's dat wordt uitgevoerd met verhoogde bevoegdheden, waardoor gebruikers hun systeeminstellingen niet per ongeluk kunnen wijzigen en kunnen voorkomen dat 'malware' toegang krijgt tot het hele systeem. Wanneer uitbreiding wordt geweigerd, kan malware alleen van invloed zijn op de gegevens van de huidige gebruiker. Zonder uitbreiding van bevoegdheden kan malware geen systeembrede wijzigingen aanbrengen of andere gebruikers beïnvloeden.
- Voor beheerde omgevingen, kunnen goed ontworpen UAC-ervaringen gebruikers productiever zijn wanneer ze als Standaardgebruikers worden uitgevoerd door onnodige beperkingen te verwijderen.
- Het biedt Standaardgebruikers de mogelijkheid om beheerders te vragen om hen toestemming te geven om beheertaken uit te voeren binnen hun huidige sessie.
- Voor thuisomgevingen zorgt het voor betere ouderlijke controle over systeembrede wijzigingen, waaronder welke software is geïnstalleerd.
ontwikkelaars: Zie Uw gebruikersinterface voor UAC-compatibiliteitopnieuw ontwerpen.
In Windows Vista kunnen beveiligde beheerders ervoor kiezen om op de hoogte te worden gesteld van alle systeemwijzigingen of geen. De UAC-standaardinstelling is om op de hoogte te stellen van alle wijzigingen, ongeacht de oorsprong ervan. Wanneer u een melding ontvangt, wordt uw bureaublad grijs weergegeven en moet u de aanvraag goedkeuren of weigeren in het dialoogvenster UAC voordat u iets anders op uw computer kunt doen. Het dimmen van uw bureaublad wordt het beveiligde bureaublad genoemd, omdat andere programma's niet kunnen worden uitgevoerd terwijl het grijs wordt weergegeven.
Windows 7 introduceert twee tussenliggende UAC-instellingen voor beveiligde beheerders, naast de twee van Windows Vista. De eerste is om gebruikers alleen op de hoogte te stellen wanneer een programma de wijziging aanbrengt, zodat beheerders automatisch worden verhoogd wanneer ze zelf een wijziging aanbrengen. Dit is de UAC-standaardinstelling in Windows 7 en maakt ook gebruik van het beveiligde bureaublad.
De tweede tussenliggende instelling in Windows 7 is hetzelfde als de eerste, behalve dat deze het beveiligde bureaublad niet gebruikt.
Windows 7 introduceert twee tussenliggende UAC-instellingen.
Opmerking: richtlijnen met betrekking tot het schrijven van code ter ondersteuning van gebruikersaccountbeheer worden weergegeven in een afzonderlijk artikel.
Ontwerpconcepten
doelstellingen
Een goed ontworpen gebruikersaccountbeheer heeft de volgende doelen:
- Onnodige uitbreiding elimineren. Gebruikers moeten alleen uitbreiden om taken uit te voeren waarvoor beheerdersbevoegdheden zijn vereist. Alle andere taken moeten zo worden ontworpen dat er geen benodigde bevoegdheden meer nodig zijn. Vaak vereist verouderde software beheerdersbevoegdheden onnodig door te schrijven naar de secties HKLM- of HKCR-register, of de programmabestanden of windows-systeemmappen.
- Wees voorspelbaar. Standaardgebruikers moeten weten welke taken een beheerder moet uitvoeren of helemaal niet kunnen worden uitgevoerd in beheerde omgevingen. Beheerders moeten weten welke taken benodigde bevoegdheden vereisen. Als ze de noodzaak van benodigde bevoegdheden niet nauwkeurig kunnen voorspellen, geven ze waarschijnlijk toestemming voor beheertaken wanneer dat niet het geval is.
- Minimale inspanning vereisen. Taken waarvoor beheerdersbevoegdheden zijn vereist, moeten worden ontworpen om één uitbreiding te vereisen. Taken waarvoor meerdere uitbreidingen nodig zijn, worden snel tijdrovend.
- Ga terug naar minimale bevoegdheden. Zodra een taak waarvoor beheerdersbevoegdheden zijn vereist, is voltooid, moet het programma terugkeren naar de status met minimale bevoegdheden.
taakstroom voor benodigde bevoegdheden
Wanneer voor een taak benodigde uitbreiding is vereist, worden de volgende stappen uitgevoerd:
Ingangspunt. Voor taken waarvoor onmiddellijke uitbreiding is vereist wanneer UAC volledig is ingeschakeld, zijn toegangspunten gemarkeerd met het UAC-schild. In dit geval moeten gebruikers verwachten dat ze onmiddellijk na het klikken op dergelijke opdrachten een uitbreidingsgebruikersinterface zullen zien. Ze moeten extra voorzichtig zijn wanneer ze de gebruikersinterface voor benodigde bevoegdheden zien van taken die geen schild hebben.
In dit voorbeeld vereisen de configuratiescherm-items voor ouderlijk toezicht en gebruikersaccounts uitbreiding.
Wanneer UAC gedeeltelijk is ingeschakeld of volledig is uitgeschakeld, wordt het UAC-schild nog steeds weergegeven om aan te geven dat de taak wijzigingen op systeemniveau omvat en daarom benodigde uitbreiding vereist, zelfs als de gebruiker de gebruikersinterface voor benodigde bevoegdheden niet ziet. Door het UAC-schild altijd weer te geven voor taken waarvoor benodigde uitbreiding is vereist, blijft de gebruikersinterface eenvoudig en voorspelbaar.
Hoogte. Voor beveiligde beheerders vraagt de taak toestemming aan met behulp van de gebruikersinterface voor toestemming. Voor standaardgebruikers vraagt de taak beheerdersreferenties aan met behulp van de referentiegebruikersinterface.
In deze voorbeelden ziet u de referentiegebruikersinterface en de gebruikersinterface voor toestemming.
Afzonderlijk proces met verhoogde bevoegdheid. Intern wordt een nieuw proces met verhoogde bevoegdheid gemaakt om de taak uit te voeren.
Ga terug naar minimale bevoegdheden. Indien nodig kunt u terugkeren naar de minimale bevoegdheid om alle stappen uit te voeren waarvoor geen uitbreiding is vereist.
Houd er rekening mee dat taken verhoogde statussen niet onthouden. Als de gebruiker bijvoorbeeld heen en weer navigeert over een toegangspunt voor benodigde bevoegdheden in een wizard, moet de gebruiker elke keer worden uitgebreid.
Gebruikspatronen
Gebruikersaccountbeheer heeft verschillende gebruikspatronen (in volgorde van voorkeur):
Werk voor Standaardgebruikers. Ontwerp de functie voor alle gebruikers door het bereik ervan te beperken tot de huidige gebruiker. Door instellingen te beperken tot de huidige gebruiker (in tegenstelling tot systeembreed), hoeft u de gebruikersinterface voor uitbreiding volledig te elimineren en gebruikers in staat te stellen de taak te voltooien.
Onjuist:
In dit voorbeeld moesten Windows XP-gebruikers beheerdersbevoegdheden hebben om de huidige tijdzone weer te geven of te wijzigen.
juist:
In dit voorbeeld is de tijdzonefunctie opnieuw ontworpen in Windows 7 en Windows Vista om voor alle gebruikers te werken.
Afzonderlijke UI-elementen hebben voor standaardgebruikers en beheerders. Standaardgebruikerstaken duidelijk scheiden van beheertaken. Geef alle gebruikers toegang tot nuttige alleen-lezen informatie. Beheertaken duidelijk identificeren met het UAC-schild.
In dit voorbeeld toont het configuratiescherm-item van het systeem de status aan alle gebruikers, maar als u de instellingen voor het hele systeem wijzigt, is uitbreiding vereist.
Standaardgebruikers toestaan om een taak uit te voeren en fouten te verhogen. Als standaardgebruikers de informatie kunnen bekijken en bepaalde wijzigingen kunnen aanbrengen zonder benodigde bevoegdheden, hebben ze toegang tot de gebruikersinterface en kunnen ze alleen uitbreiden als de taak mislukt. Deze methode is geschikt wanneer standaardgebruikers beperkte toegang hebben, zoals met eigenschappen van hun eigen bestanden in Windows Verkenner. Het is ook geschikt voor instellingen op hybride hubpagina's van het Configuratiescherm.
In dit voorbeeld heeft de gebruiker geprobeerd de eigenschappen van het programmabestand te wijzigen, maar niet over voldoende bevoegdheden beschikt. De gebruiker kan het uitbreiden en het opnieuw proberen.
Alleen voor beheerders werken. Gebruik deze methode alleen voor beheerdersfuncties en -programma's. Als een functie alleen bedoeld is voor beheerders (en geen navigatiepaden of nuttige alleen-lezen informatie voor Standaardgebruikers heeft), kunt u vragen om beheerdersreferenties op het toegangspunt voordat u een gebruikersinterface weergeeft. Gebruik deze methode voor lange wizards en paginastromen wanneer voor alle paden beheerdersbevoegdheden zijn vereist.
Als het hele programma alleen voor beheerders is, markeert u het om beheerdersreferenties te vragen om te starten. In Windows worden dergelijke programmapictogrammen weergegeven met de UAC-schildoverlay.
In dit voorbeeld vereist het programma beheerdersbevoegdheden om te starten.
Richtsnoeren
UAC-schildpictogram
Besturingselementen weergeven met het UAC-schild om aan te geven dat de taak onmiddellijke uitbreiding vereist wanneer UAC volledig is ingeschakeld, zelfs als UAC momenteel niet volledig is ingeschakeld. Als voor alle paden van een wizard en paginastroom benodigde bevoegdheden zijn vereist, geeft u het UAC-schild weer op het toegangspunt van de taak. Het juiste gebruik van het UAC-schild helpt gebruikers te voorspellen wanneer benodigde bevoegdheden vereist zijn.
Als uw programma meerdere versies van Windows ondersteunt, geeft u het UAC-schild weer als ten minste één versie benodigde uitbreiding vereist. Omdat Windows XP nooit benodigde bevoegdheden vereist, kunt u overwegen om de UAC-afschermingen voor Windows XP te verwijderen als u dit consistent en zonder schadelijke prestaties kunt doen.
Geef het UAC-schild niet weer voor taken waarvoor geen uitbreiding in de meeste contexten is vereist. Omdat deze benadering soms misleidend zal zijn, is de voorkeursbenadering in plaats daarvan het gebruik van een correct afgeschermde contextuele opdracht.
Omdat de opdracht Nieuwe map alleen benodigde uitbreiding vereist wanneer deze wordt gebruikt in systeemmappen, wordt deze weergegeven zonder een UAC-schild.
Het UAC-schild kan worden weergegeven op de volgende besturingselementen:
opdrachtknoppen:
Een opdrachtknop waarvoor onmiddellijke uitbreiding is vereist.
opdrachtkoppelingen:
Een opdrachtkoppeling waarvoor onmiddellijke uitbreiding is vereist.
koppelingen:
Een koppeling waarvoor onmiddellijke uitbreiding is vereist.
Menu's:
Een vervolgkeuzelijst waarvoor onmiddellijke uitbreiding is vereist.
Omdat taken verhoogde statussen niet meer onthouden, verandert het UAC-schild niet om de status weer te geven.
Geef het UAC-afscherming weer, zelfs als Gebruikersaccountbeheer is uitgeschakeld of als de gebruiker het ingebouwde administratoraccount gebruikt. Het consistent weergeven van het UAC-schild is eenvoudiger te programmeren en biedt gebruikers informatie over de aard van de taak.
Hoogte
Ontwerptaken die moeten worden uitgevoerd door Standaardgebruikers, indien mogelijk, zonder benodigde bevoegdheden. Geef alle gebruikers toegang tot nuttige alleen-lezen informatie.
Verhogen per taak, niet per instelling. Combineer standaardgebruikersinstellingen niet met beheerdersinstellingen in één pagina of dialoogvenster. Als standaardgebruikers bijvoorbeeld bepaalde, maar niet alle instellingen kunnen wijzigen, splitst u deze instellingen op als een afzonderlijk UI-oppervlak.
Onjuist:
In dit voorbeeld worden standaardgebruikersinstellingen onjuist gecombineerd met beheerinstellingen.
juist:
In dit voorbeeld bevinden de instellingen voor het wijzigen van de datum en tijd zich in een afzonderlijk dialoogvenster, alleen beschikbaar voor beheerders. De tijdzone-instellingen zijn beschikbaar voor standaardgebruikers en worden niet gecombineerd met beheerinstellingen.
Houd er niet rekening mee dat u moet uitbreiden bij het bepalen of een besturingselement moet worden weergegeven of uitgeschakeld. Dit komt doordat:
- In niet-beheerde omgevingen wordt ervan uitgegaan dat Standaardgebruikers de uitbreiding kunnen verhogen door een beheerder te vragen. Als u besturingselementen uitschakelt waarvoor uitbreiding is vereist, kunnen gebruikers geen beheerders meer gebruiken.
- In beheerde omgevingen wordt ervan uitgegaan dat Standaardgebruikers helemaal niet kunnen uitbreiden. Als u besturingselementen verwijdert waarvoor uitbreiding is vereist, kunnen gebruikers niet meer weten wanneer ze niet meer moeten zoeken.
Onnodige uitbreiding voorkomen:
- Als voor een taak mogelijk benodigde uitbreiding is vereist, kunt u zo laat mogelijk uitbreiden. Als een taak een bevestiging nodig heeft, geeft u de gebruikersinterface voor benodigde bevoegdheden pas weer nadat de gebruiker heeft bevestigd. Als voor een taak altijd benodigde uitbreiding is vereist, kunt u het beginpunt verhogen.
- Als u een verhoogde bevoegdheid hebt, blijft u verhoogd totdat verhoogde bevoegdheden niet meer nodig zijn. Gebruikers moeten niet meerdere keren uitbreiden om één taak uit te voeren.
- Als gebruikers een wijziging moeten aanbrengen, maar ervoor kiezen geen wijzigingen aan te brengen, laat u de positieve doorvoerknoppen ingeschakeld, maar verwerkt u de doorvoer als een annulering. Als u dit doet, hoeven gebruikers niet alleen maar een venster te sluiten.
- Onjuist:
-
- In dit voorbeeld is de knop Wijzigingen opslaan uitgeschakeld om onnodige uitbreiding te voorkomen, maar wordt ingeschakeld wanneer gebruikers de selectie wijzigen. De knop Voor het uitschakelen van doorvoeren zorgt er echter voor dat gebruikers echt geen keuze hebben.
Er wordt geen foutbericht weergegeven wanneer taken mislukken omdat gebruikers ervoor hebben gekozen om niet te verhogen. Stel dat gebruikers opzettelijk niet hebben gekozen om door te gaan, zodat ze deze situatie niet als een fout beschouwen.
Onjuist:
In dit voorbeeld geeft Fabrikam Herstellen een foutbericht wanneer de gebruiker besluit om niet te verhogen.
Geef geen waarschuwingen weer om uit te leggen dat gebruikers mogelijk hun bevoegdheden moeten verhogen om taken uit te voeren. Laat gebruikers dit feit zelf ontdekken.
De gebruikersinterface voor het UAC-schild en de benodigde bevoegdheden weergeven op basis van de volgende tabel:
Object Omstandigheid Waar UAC-afscherming te plaatsen Wanneer moet ik de tillen Programma Het hele programma is alleen bedoeld voor beheerders.
UAC-schildoverlay op programmapictogram.Geef de gebruikersinterface voor benodigde bevoegdheden weer bij het starten. Bevelen De volledige opdracht is alleen voor beheerders.
UAC-schild op opdrachtknop of koppeling.Geef de gebruikersinterface voor benodigde bevoegdheden weer wanneer op de opdrachtknop of koppeling wordt geklikt, maar na eventuele bevestigingen. Bevelen De opdracht geeft nuttige alleen-lezen informatie weer die geschikt is voor alle gebruikers, maar voor wijzigingen zijn beheerdersbevoegdheden vereist.
UAC-schild op opdrachtknop of koppeling om wijzigingen aan te brengen.Gebruikersinterface voor benodigde bevoegdheden weergeven wanneer op de opdrachtknop wordt geklikt, maar na eventuele bevestigingen. Bevelen Standaardgebruikers kunnen de informatie bekijken en eventueel wijzigingen aanbrengen zonder benodigde bevoegdheden. toestaan dat standaardgebruikers proberen te proberen en fouten te verhogen.
Geef het UAC-schild niet weer voor de opdracht, maar geef dit weer voor het toegangspunt voor benodigde bevoegdheden als de opdracht mislukt.Gebruikersinterface voor benodigde bevoegdheden weergeven wanneer de gebruiker de opdracht opnieuw probeert uit te voeren. Taakstap Voor alle volgende stappen is uitbreiding vereist.
UAC-schild op de knop Volgende (of gelijkwaardig).Gebruikersinterface voor benodigde bevoegdheden weergeven wanneer op de knop Volgende of een andere doorvoerknop wordt geklikt. Taakstap Voor sommige vertakkingen is uitbreiding vereist.
UAC-schild op opdrachtkoppelingen waarvoor benodigde uitbreiding is vereist.Gebruikersinterface voor benodigde bevoegdheden weergeven wanneer op opdrachtkoppelingen met UAC-schild wordt geklikt.
Ui voor benodigde bevoegdheden
- Als de gebruiker een account opgeeft dat niet geldig is (naam of wachtwoord) of geen beheerdersbevoegdheden heeft, geeft u de gebruikersinterface voor referenties opnieuw weer. Er wordt geen foutbericht weergegeven.
- Als de gebruiker de referentiegebruikersinterface annuleert, keert u de gebruiker terug naar de oorspronkelijke gebruikersinterface. Er wordt geen foutbericht weergegeven.
- Als gebruikersaccountbeheer is uitgeschakeld en een standaardgebruiker een taak probeert uit te voeren waarvoor uitbreiding is vereist, geeft u een foutbericht op met de melding 'Deze taak vereist beheerdersbevoegdheden. Als u deze taak wilt uitvoeren, moet u zich aanmelden met een beheerdersaccount.
In dit voorbeeld is Gebruikersaccountbeheer uitgeschakeld, zodat in een foutbericht wordt uitgelegd dat de gebruiker een beheerdersaccount moet gebruiken.
Wizards
- Verheffen niet meerdere keren. Zodra een wizard is verhoogd, moet deze verhoogd blijven.
- Als de taak in de wizard wordt uitgevoerd, plaatst u een UAC-schild op de knop Volgende van de doorvoerpagina (die een meer specifiek label moet krijgen). Wanneer de gebruiker doorvoert:
- Als de volgende pagina een voortgangspagina is, gaat u naar die pagina en geeft u de gebruikersinterface voor benodigde bevoegdheden modaal weer. Voer de taak uit nadat de benodigde bevoegdheden zijn geslaagd.
- Als de volgende pagina een voltooiingspagina is, gaat u naar die pagina (maar vervangt u de inhoud tijdelijk door 'Wachten op machtiging...') en geeft u de gebruikersinterface voor benodigde bevoegdheden modaal weer. Nadat de benodigde bevoegdheden zijn voltooid, voert u de taak uit en geeft u vervolgens de inhoud van de pagina Voltooiing weer.
- Als de gebruiker de gebruikersinterface voor benodigde bevoegdheden annuleert, gaat u terug naar de pagina Doorvoeren. Hierdoor kan de gebruiker het opnieuw proberen.
- Als de taak wordt uitgevoerd nadat de wizard is voltooid, plaatst u een UAC-schild op de knop 'Voltooien' van de doorvoerpagina (die een meer specifiek label moet krijgen). Wanneer de gebruiker doorvoert:
- Blijf op de pagina Doorvoeren en geef de gebruikersinterface voor benodigde bevoegdheden modaal weer. Sluit de wizard nadat de benodigde bevoegdheden zijn geslaagd.
- Als de gebruiker de gebruikersinterface voor benodigde bevoegdheden annuleert, gaat u terug naar de pagina Doorvoeren. Hierdoor kan de gebruiker het opnieuw proberen.
- Voor langdurige wizards die alleen zijn bedoeld voor beheerders, kunt u vragen om beheerdersreferenties op het toegangspunt voordat u een gebruikersinterface weergeeft.
Sms
- Gebruik geen beletselteken omdat voor een opdracht uitbreiding is vereist. De noodzaak om te verhogen wordt aangegeven met het UAC-schild.
Documentatie
Wanneer u verwijst naar Gebruikersaccountbeheer:
- Raadpleeg de functie als Gebruikersaccountbeheer (bij eerste vermelding) of UAC (na volgende vermelding), niet het minst bevoegde gebruikersaccount of LUA.
- Raadpleeg niet-beheerders als Standaardgebruikers.
- Raadpleeg ingebouwde computerbeheerders als ingebouwde beheerders.
In gebruikersdocumentatie:
- Raadpleeg de handeling van het verlenen van toestemming voor het uitvoeren van een beheertaak als het verlenen van toestemming.
In programmering en andere technische documentatie:
- Raadpleeg de handeling van het verlenen van toestemming voor het uitvoeren van een beheertaak als uitbreiding.
- Raadpleeg in de context van UAC beheerders als beveiligde beheerders wanneer deze niet zijn verhoogd en verhoogde beheerders na uitbreiding.
- Raadpleeg het dialoogvenster dat wordt gebruikt om wachtwoorden in te voeren als referentiegebruikersinterface. Raadpleeg het dialoogvenster dat wordt gebruikt om toestemming te geven als de gebruikersinterface voor toestemming. Raadpleeg beide over het algemeen als De gebruikersinterface voor benodigde bevoegdheden.