2008-11-15 14 views
1

J'ai une application qui écrit des messages dans le journal des événements. La source que je passe à EventLog.WriteEntry n'existe pas, donc le Framework essaye de créer la source en l'ajoutant au registre. Cela fonctionne bien si l'utilisateur est un administrateur par Je reçois ce qui suit lorsque l'utilisateur n'est pas un administrateur:Journal des événements SecurityException pour application Web?

"System.Security.SecurityException: l'accès au Registre demandé n'est pas autorisé." message.

Comment puis-je résoudre ce problème?

Mise à jour

je créer le registre avec le compte Admin manuellement dans le Registre. Maintenant, j'ai l'erreur: System.Security.SecurityException: l'accès au Registre demandé n'est pas autorisé.

Je ne comprends pas parce que j'ai créé un utilisateur dans l'administrateur de groupe ... que dois-je faire de plus?

Répondre

1

Pour votre mise à jour, j'ai trouvé quelque chose qui pourrait vous aider:

Run regedt32 
Navigate to the following key: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security 
Right click on this entry and select Permissions 
Add the ASPNET user 
Give it Read permission 

2. Change settings in machine.config file 

Run Explorer 
Navigate to WINDOWS or WINNT folder 
Open Microsoft.NET folder 
Open Framework folder 
Open v1.1.4322 folder (folder name may be different, depending on what dotnet version is installed) 
Open CONFIG folder 
Open machine.config file using notepad (make a backup of this file first) 
Locate processmodel tag (approx. at line 441) 
Locate userName="machine" (approx. at line 452) 
Change it to userName="SYSTEM" 
Save and close the file 
Close Explorer 

3. Restart IIS 

Run IISReset 

The source is here

0

La "méthode de non-programmation" consiste à accorder à l'utilisateur cet utilisateur votre application Web/service Web avec accès au registre (le journal des événements est écrit dans le journal des événements).

+0

J'ai créé un utilisateur et l'ai placé dans le groupe Administrateurs. J'ai dans IIS sélectionner le dossier et définir cet utilisateur dans la sécurité du répertoire et cela ne fonctionne pas. Qu'est-ce qui ne va pas? – Pokus

0

Rien de ces travaillé pour moi. Qu'est-ce que l'astuce était de modifier l'identité du pool d'applications de "ApplicationPoolIdentity" à "LocalSystem". Ensuite, placez le compte Windows LocalSystem dans le groupe Administrateurs.

Questions connexes