Domanda

Ho la necessità di consentire agli amministratori Non Farm per essere in grado di creare raccolte siti che utilizzano una definizione molto site specific. Queste persone non avranno accesso a admin centrale e quindi richiede una soluzione personalizzata per consentire la creazione di questi. Ho provato diverse soluzioni, ma si vuole un po 'di consenso su un approccio consigliato.

  1. Servizio Web personalizzato - Ho scritto un servizio web personalizzato per eseguire questa operazione tuttavia questo ha causato grandi mal di testa e anche se il servizio web è stato eseguito in una piscina applicazione utilizzando la stessa identità come la piscina di SharePoint app non potevo ottenere questo al lavoro. Anche modulo avuto digerire problemi nel cercare di eseguire questa v ia un servizio web.

  2. Web Part / Application Pagina - Nessuna forma digerire problemi qui come siamo nel contesto di SharePoint, però ho provato ad utilizzare RunWithElevatedPrivileges ma ho ancora ottenere un accesso negato quando si chiama SPWebbApplication.Sites.Add (), anche se tutti SPSite e SPWeb pbjects vengono istanziati all'interno del blocco di codice elevato. Ho provato la rappresentazione diretta a livello di interfaccia utente e ottengo un UnhandledException dicendo che la rappresentazione non è riuscita.

  3. Applicazione wrapper per stsadm -? Non ho ancora tentato questo come io sono preoccupato per la fattibilità di questo approccio, sicuramente c'è un modo pulito di questo

Alcune indicazioni su questo sarebbe utile come non riesco a trovare molto là fuori su questo.

Grazie

È stato utile?

Soluzione

il problema è che non è possibile utilizzare RWEP per creare la raccolta siti. RWEP prende il l'identità del pool di app e molto probabilmente (se è stato configurato la farm corretta) questo account non è membro del gruppo adminstrators fattoria - che è necessario per creare la raccolta siti. Se si esegue il codice di amministrazione centrale che funzionerà, però, visto che richiede l'identità del pool di CA di app che è admin agricola.

In modo da avere un numero di opzioni per creare questa funzione:

  1. È possibile concedere amministratore farm al tuo account del pool di applicazione e procedere come di consueto -! SCONSIGLIATO
  2. Creare una web app in amministrazione centrale per creare questa siti - NON RACCOMANDATA, non si vuole esporre CA agli utenti
  3. Crea un certo processo timer (in esecuzione come amministratore farm) e poi aggiungere il "creare sito richiesta di ritiro" per una lista che i processi timer controlli. Poi il processo timer crea il sito Coll e alla fine, quando è creato invia una e-mail all'utente che ha richiesto il sito coll. Sarà un leggero ritardo (a seconda di come spesso le piste di lavoro timer) fino a quando l'utente ha il coll sito.
  4. Crea un servizio web in CA, che rende il sito coll. Quindi chiamare questo servizio web dal codice personalizzato.

Ho usato gli ultimi due approcci successfulley.

/ WW

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top