Des droits d'administrateur pour une méthode unique
Est-il possible d'exiger des droits d'administrateur pour une seule méthode?
Quelque chose comme ceci:
[RequireAdminRightsForThisMethod()]
private void TheMethod(){
//Do something
}
- Prendre un coup d'œil ici: omegacoder.com/?p=82
- Qu'avez-vous envie de faire?
- Juste une remarque: Si quelqu'un vous donne une réponse avec WindowsIdentity.GetCurrent() ou que cela ne fonctionne que pour les winforms au large de la chauve-souris, pas des pages web.
- 74.125.47.132/search?q=cache:BcnrvCZth5EJ:www.omegacoder.com/...
- Je veux que le feu de contrôle de compte d'utilisateur de demander l'autorisation lorsque les applications de l'exécution d'une méthode.
- Cela évite la méthode si les applications n'ont pas les autorisations. J'ai besoin de lancer le contrôle de compte d'utilisateur de demander des autorisations d'administrateur.
- Vous ne pouvez pas le faire automatiquement.
- Merci à tout le monde. Enfin je vais redémarrer l'application demandant des autorisations d'administrateur lorsque j'ai besoin de copier les fichiers mis à jour.
- toute l'aide pour stackoverflow.com/questions/8713995/... ? 🙁
InformationsquelleAutor lluismontero | 2010-01-07
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter un
PrincipalPermission
attribut à votre méthode de demande de privilèges d'administration pour son exécution:Ceci est décrit plus en détail dans l'article suivant:
Si vous êtes à la recherche d'un moyen d'élever un déjà existant, je doute que cela soit possible que des privilèges d'administrateur sont donnés sur les processus au niveau d'un processus au démarrage (voir ce question). Vous devez exécuter votre application "en tant qu'administrateur" pour obtenir le comportement souhaité.
Cependant, il existe certaines astuces qui peuvent vous permettre de faire ce que vous voulez, mais sachez que cela risque de créer de graves risques de sécurité. Voir le fil de discussion suivant dans les forums MSDN:
Mise à jour (de commentaire)
Il semble que si une mise à jour nécessite une élévation mettre à jour votre application est mieux fait par un processus distinct (soit un autre exécutable, ou votre application appelée avec un commutateur de ligne de commande). Pour que processus séparé vous pouvez demander de l'élévation comme suit:
Request for principal permission failed.
je suis en utilisant WPF & essayer à l'écriture d'un fichier à l'intérieur deProgram Files
.Une méthode peut nécessiter des privilèges d'administrateur pour exécuter, mais il n'est pas possible automatiquement élever à l'Admin lors de l'exécution d'une méthode.