Quand je lance mon C# application Windows Forms sur Windows 7 avec:Dans Windows 7, « Exécuter en tant qu'administrateur » ne fonctionne pas en tant qu'administrateur lorsque l'UAC est désactivé
- Un utilisateur dans le groupe « Utilisateurs » que n'est pas dans le groupe Administrateurs
- sur une machine où User Account Control est désactivé
- par un clic droit sur le fichier EXE et sélectionner « Exécuter en tant qu'administrateur »
Ce code:
WindowsPrincipal pricipal = new WindowsPrincipal(WindowsIdentity.GetCurrent()); bool hasAdministrativeRight = pricipal.IsInRole(WindowsBuiltInRole.Administrator);
retourne toujours false. Est-ce que ce comportement est attendu?
Pourquoi est-ce un trou de sécurité? (en supposant que l'utilisateur doit entrer un mot de passe administrateur) –
Eh bien oui définitivement. Mais il est surprenant qu'il n'y ait pas de message à l'utilisateur à ce stade? –
@Matthew: L'utilisateur N'A PAS besoin d'entrer un mot de passe administrateur. Ce que vous voulez vraiment, c'est la commande "Exécuter en tant qu'utilisateur" et que votre application soit exécutée dans le contexte utilisateur d'un administrateur. @Duncan: Malheureux: oui. Surprenant: Je pense que le jury est sur ce point! :) –