Question

J'ai implémenté le traçage basé sur System.Diagnostics.

J'utilise également un System.Diagnostics.TextWriterTraceListener et ai raccordé l'intégralité de la trace à une application Web MOSS 2007.

Pour une raison quelconque, la trace tente de (a) créer le fichier journal et / ou (b) d'écrire dans le fichier journal en utilisant l'utilisateur qui navigue actuellement sur le site SharePoint , existe-t-il aucun moyen de configurer la journalisation pour utiliser un compte d'utilisateur particulier à la place?

Était-ce utile?

La solution

Évidemment, MOSS est configuré pour utiliser l’authentification Windows (kerberos) et l’imitation. Si vous n'avez pas besoin d'emprunter l'identité de l'utilisateur actuel connecté à moss, désactivez l'emprunt d'identité (son dans web.config). Vous constaterez que les fichiers journaux seront créés et écrits par l'utilisateur sous lequel le pool d'applications de votre installation Moss est en cours d'exécution.

Si vous devez utiliser l'emprunt d'identité, une autre solution consiste à donner à tout le monde le droit de créer et d'écrire des fichiers dans le répertoire du journal (et UNIQUEMENT dans le répertoire du journal). Ce n'est pas exactement la meilleure idée, cependant. Vous pouvez interdire les autorisations de lecture à tout le monde, sauf à ceux qui ont besoin de lire les journaux, mais vous devrez tout de même vous inquiéter des tentatives de personnes qui tentent de vous faire une sauvegarde sur votre disque.

Le troisième choix est, avant de vous connecter, de changer d’identité. Quelque chose comme cela pourrait fonctionner:

var wic = WindowsIdentity.Impersonate(IntPtr.Zero); // "revert to self"
/* LOG GOES HERE K */
wic.Undo(); // return to impersonation

BIG CAVEAT: Je suis en train d’apprendre cela moi-même, le code ci-dessus risque donc de ne pas fonctionner du tout. Si c'est le cas, c'est très pratique, car vous n'avez pas besoin de p / invoke pour vous connecter à votre identité d'écriture de journal, ce qui signifie également que vous n'avez pas à créer cet utilisateur et à stocker son mot de passe en texte clair dans votre application.

Je me demande où est le vieux Skeeter sur celui-ci? La sécurité Windows nécessite des efforts importants. Je commence tout juste avec le bar en ce moment ...

Autres conseils

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top