Bonjour,
Je tente de créer une collection de site dans la fonction ItemUpdated de mon Event Handler.
J'ai un accès refusé sur la fonction oSPSiteCollection.Add(...).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite oSPSite = new SPSite(sUrlRootSite)) { SPWebApplication oSPWebApplication = oSPSite.WebApplication; SPSiteCollection oSPSiteCollection = oSPWebApplication.Sites; if (oSPWebApplication.Sites[sUrlRelative] == null) { oSPSiteCollection.Add(sUrlSite, sSiteName, String.Empty, 1036, sSiteTemplate, sAdminColl, string.Empty, string.Empty); oSPWebApplication.Update(); } } });
Selon mes recherches, l'erreur proviendrait de mon compte d'application pool qui n'a pas le droit d'écrire dans la base de conf.
Effectivement, lorsque je fais tourner mon application pool avec le compte farm, je n'ai plus le problème.
Pourtant, il me semble que ce n'est pas recommandé de faire tourner les pools d'applications avec le compte farm.
J'ai tenté de faire:
- une impersonation avec le SystemAccount => même erreur
- de lancer ma création avec un timerjob => accès refusé lors de l'update de mon job
Merci de m'aider, help...
Partager