Je travaille sur le portage d'une application ASP.NET de Server 2003 (et IIS6) vers Server 2008 (IIS7).
Lorsque j'essaie de visiter la page dans le navigateur, j'obtiens ceci :
Erreur serveur dans l'application ‘/’.
Exception de sécurité
Description : L'application a tenté d'effectuer une opération non autorisée par la stratégie de sécurité. Pour accorder à cette application les autorisations requises, veuillez contacter votre administrateur système ou modifier le niveau de confiance de l'application dans le fichier de configuration.
Détails de l'exception : System.Security.SecurityException: La source n'a pas été trouvée, mais certains ou tous les journaux d'événements n'ont pas pu être recherchés. Journaux inaccessibles : Sécurité
Source de l'erreur :
Une exception non gérée a été générée lors de l'exécution de la requête web actuelle. Les informations sur l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.
Trace de la pile :
[SecurityException: La source n'a pas été trouvée, mais certains ou tous les journaux d'événements n'ont pas pu être recherchés. Journaux inaccessibles : Sécurité.]
System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly) +562 System.Diagnostics.EventLog.SourceExists(String source, String machineName) +251
[snip]
Voici ce que j'ai fait pour essayer de résoudre le problème :
-
Donner l'autorisation d'accès complet à "Tout le monde" à la clé
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security
. Cela a fonctionné. Mais naturellement, je ne peux pas faire cela en production. J'ai donc supprimé l'autorisation "Tout le monde" après avoir exécuté l'application pendant quelques minutes et l'erreur est réapparue. -
J'ai créé la source dans le journal des applications et le journal de sécurité (et j'ai vérifié qu'elle existe via regedit) lors de l'installation avec des autorisations élevées mais l'erreur est restée.
-
J'ai donné à l'application un niveau de confiance complet dans le fichier
web.config
(et en utilisantappcmd.exe
) mais en vain.
Est-ce que quelqu'un a une idée de ce qui pourrait être fait ici ?
PS : Ceci est un suivi à cette question. J'ai suivi les réponses données mais en vain (voir n°2 ci-dessus).
0 votes
Je recevais ceci en essayant d'écrire vers une source personnalisée dans un service .Net qui s'exécutait en tant que NetworkService. J'ai simplement changé la source du journal d'événements pour correspondre au nom du service qui avait été configuré via le package de configuration du service .Net et cela a fonctionné sans définir les autorisations du registre. Je l'ai remarqué en voyant le nom du service comme une clé déjà dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application
1 votes
Connexe: stackoverflow.com/questions/286060/…
2 votes
Une autre réponse possible : Cliquez avec le bouton droit sur le fichier .exe et choisissez "Exécuter en tant qu'administrateur"
0 votes
Vous devez temporairement désactiver l'usurpation dans le code, pour plus de détails, consultez cette La source n'a pas été trouvée, mais certains ou tous les journaux d'événements n'ont pas pu être recherchés. Journaux inaccessibles : Sécurité.