Hallo zusammen,
ich habe eine Application Page mit einem Button programmiert, um eine Site Collection anzulegen. Der Programmcode wird mit elevated privileges ausgeführt.
SPSecurity.RunWithElevatedPrivileges(delegate(){
using (SPSite site = new SPSite(SPContext.Current.Site.ID)){
using (SPWeb web = site.OpenWeb())
...
SPWebApplication webApplication = site.WebApplication;
SPSiteCollection sites = webApplication.Sites;
sites.Add( ...
(Alles läuft unter SharePoint Server 2013.)
Wenn ich das in meinem Entwicklungssystem ausführe geht's problemlos. Im Ziel-Produktiv-System funktioniert's nicht. Da bekomme ich eine UnauthorizedAccessException.
Der elevated code läuft ja unter der Identität des WebApplication Pools.
Im Entwicklungssystem ist das: Network Service.
Im Produktiv-System ist das: SPDOM\SPWebApp.
Offenbar fehlen SPDOM\SPWebApp Berechtigungen. Ganz Grundsätzlich gefragt: Welche Voraussetzungen gibt es, damit ein UserX Site Collections per Programmcode anlegen kann? Welche Berechtigungen muss der User haben?
(Mitglied der Farm Administrators zu sein reicht anscheinend nicht.)
(Die Alternative "Self Service Site Creation" gibt es ja auch noch. Aber das möchte ich nur als Notlösung nutzen.)
Danke im voraus für alle Antworten!