Un problema in cui è facile imbattersi durante lo sviluppo di un’applicazione sharepoint è la possibilità di eseguire operazione – a livello di coding – su Sitecollection, Web o liste. Durante la prima realizzazione di un sito Sharepoint avevo scritto un bel po’ di codice in cui eseguivo recupero di SPWeb, navigazione di List ecc… In test con il mio utente funziona benissimo, mai avuto un problema.
Al momento del passaggio in produzione però l’utente “standard” visualizza una pagina bianca. Con un po’ di debug mi sono accorto che dipendeva dal fatto che l’utente “standard”, giustamente, non ha diritti sugli oggetti di tipo SPSite.

Per ovviare a questo tipo di oggetto è comunque relativamente semplice: quando dobbiamo recuperare un SPSite non dobbiamo fare una new dell’oggetto, bensì richiamare una funziona che istanzierà l’SPSite con l’SPToken del System Account. Avremo quindi a disposizione l’intero SPSite per la sua lettura e manipolazione.

Di seguito il codice

GetElevatedSite