Modèle Broker d’administrateur
Dans le modèle de répartiteur administrateur, l’application est divisée en deux programmes. L’un des programmes s’exécute en tant qu’utilisateur standard, et l’autre s’exécute avec des privilèges d’administrateur.
À l’aide d’un manifeste d’application, marquez le programme utilisateur standard avec un requestedExecutionLevel de asInvoker et marquez le programme d’administration avec un requestedExecutionLevel de requireAdministrator. Un utilisateur lance d’abord le programme utilisateur standard. Lorsque l’utilisateur tente d’effectuer une opération qui nécessite un jeton d’accès administrateur complet, le programme utilisateur standard appelle la fonction ShellExecute pour lancer le programme d’administration. La fonction ShellExecute invite l’utilisateur à approuver avant d’exécuter l’application avec le jeton d’accès administrateur complet de l’utilisateur. Le programme d’administration peut ensuite effectuer des tâches qui nécessitent des privilèges d’administrateur.
Le programme administratif n’est pas complètement isolé du programme utilisateur standard. Le programme administratif peut activer la communication interprocesseur avec le programme utilisateur standard. Toutefois, cette communication est limitée par la stratégie d’intégrité obligatoire par défaut. Pour plus d’informations sur les considérations d’intégrité obligatoires, consultez Conception d’applications à exécuter à un niveau d’intégrité faible.
Voici les utilisations possibles pour le modèle de répartiteur d’administrateur :
- Assistants de développement. Lorsqu’un Assistant matériel détermine qu’un pilote requis n’est pas installé sur l’ordinateur ou qu’il se trouve à l’emplacement approuvé de l’entreprise, il appelle une application avec élévation de privilèges permettant de déplacer un pilote dans le magasin d’ordinateurs.
- Autorun.exe appeler Setup.exe. Lorsqu’un utilisateur exécute un logiciel à partir d’un CD, Autorun.exe, qui s’exécute en tant qu’utilisateur standard, démarre Setup.exe, qui s’exécute en tant qu’administrateur, pour installer le logiciel sur l’ordinateur.
Voici les inconvénients de l’utilisation du modèle de répartiteur d’administrateur :
- Les transitions de l’application à l’application peuvent prêter à confusion à l’utilisateur. Il peut être difficile d’informer l’utilisateur pourquoi une nouvelle application apparaît sur le moniteur.
- Il peut être difficile de transmettre des informations d’état entre les deux applications. Par exemple, vous n’utilisez pas ce modèle pour transmettre des informations d’état entre un panneau de configuration utilisateur standard (CPL) et son équivalent administrateur simplement pour permettre au même fournisseur de services d’administration et de disposer de fonctionnalités utilisateur standard. La CPL utilisateur standard doit stocker son état quelque part.
- Il peut y avoir beaucoup de code répliqué lors du fractionnement des fonctionnalités entre deux programmes.
Rubriques connexes
-
développement d’applications qui nécessitent des de privilèges d’administrateur