Vous pouvez utiliser System.Security.Principal.WindowsIdentity.GetCurrent() pour créer un méthodes Web qui renvoient le nom de l'utilisateur actuel (très probablement l'utilisateur spécial ASP_NET), puis augmentent les privilèges de l'utilisateur (ou modifient les paramètres de sécurité de la clé que vous voulez modifier de regedit pour que l'utilisateur sous lequel En cours d'exécution est capable de lire la partie du Registre
D'autre part, si j'ai raison et que vous voulez modifier HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Page Le programme d'installation, et votre objectif n'est pas de modifier les informations dans cette clé pour l'utilisateur ASP_NET, puis vous devrez vous authentifier auprès de votre service Web en utilisant un compte disponible sur le serveur. Pour cela, vous devrez configurer votre service web pour utiliser Windows. authentification dans Web.config:
<system.web> ... <authentication mode="Windows"/> <identity impersonate="true"/> ... </system.web>
Ensuite, vous obtenez le jeton d'utilisateur authentifié de Windows:
IIdentity WinId= HttpContext.Current.User.Identity;
WindowsIdentity wi = (WindowsIdentity)WinId;
et enfin vous utiliser le jeton Windows de l'utilisateur authentifié d'usurper l'identité temporairement l'utilisateur d'origine et retirer le usurpation d'identité jeton de l'actuel Thr ead lorsque vous avez fini d'usurper l'identité.
// Temporarily impersonate the original user.
WindowsImpersonationContext wic = wi.Impersonate();
try
{
// Access resources while impersonating.
}
finally
{
// Revert impersonation.
wic.Undo();
}
De cette façon, lorsque vous avez demandé WindowsIdentity.GetCurrent() vous obtiendrez le nom des fenêtres de compte d'utilisateur à authentifier (ce qui est appelé usurper l'identité temporairement l'utilisateur authentifié). Et vous auriez accès au HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ PageSetup de l'utilisateur que vous utilisé pour authentifier
Plus d'informations sur l'authentification Windows et l'usurpation d'identité ici: http://msdn.microsoft.com/en-us/library/ff647405.aspx
Le logiciel clé \ Microsoft \ Internet Explorer \ PageSetup est ... où? à HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ PageSetup? Alors cela signifie que vous voulez atteindre PageSetup d'un utilisateur particulier? Quel utilisateur? – Luxspes
Oui, j'essaie d'obtenir le PageSetup à partir de HKEY_CURRENT_USER. Je suppose d'un compte utilisateur générique que je peux créer – marcwenger