Ormai mi sono convinto: non ha senso dare al proprio account diritti amministrativi sul Pc. Chi mi ha iniziato a questo "credo" è stato il blog di Marco Russo, il quale ha riportato più volte il concetto, ed io, piano piano, mi ci sono abituato: ormai con il mio restricted user faccio tutto, utilizzando Administrator solo quando serve.
C'è però una cosa che non è semplice fare se non si è un administrator: il debug delle applicazioni ASP.NET su IIS 5 (su Windows 2003 e IIS 6 è un po' più semplice...). Come riportato nell'utilissimo articolo su MSDN, l'unico modo per fare ciò è quello di cambiare le credenziali del tag <processModel>
del file machine.config sostituendole con l'account che si usa per sviluppare.
Bene, tutto ok, fino a che la settimana scorsa non decido di provare a fare qualcosina con SQL Server Reporting Services. Eseguo l'installazione quando nel tag
del machine.config ho le credenziali machine/AutoGenerate; tutto bene, ma quando rimetto le credenziali del mio restricted user, RS non funziona più.
Visto che non posso predicare bene e razzolare male, e soprattutto non posso cambiare il tag <processModel>
a seconda che usi RS o Visual Studio, ho cercato in tutti i modi di far funzionare RS anche con un restricted user impostato nel machine.config. Sono arrivato a questa procedura:
- Dopo aver installato RS con machine/AutoGenerate nel tag <processModel>, bisogna dare diritti di lettura al restricted user nella cartella di installazione (solitamente C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services); al file global.asax nelle cartelle ReportServer e ReportManager dare Full Control.
- Come Administrator, esportare su file le chiavi del repository di RS, con il comando rskeymgmt -e -f[Path del file in cui esportare le chiavi] -p[Password].
- Sostituire le credenziali nel tag <processModel>, e inserire quelle del restricted user. Riavviare IIS.
- Inserire momentaneamente (mi raccomando, momentaneamente :D) il restricted user nel gruppo Administrators. Importare le chiavi del repository di RS con il comando rskeymgmt -a -f[Path del file in cui sono state esportate le chiavi] -p[Password] e riattivare l'istanza del Report Server con il comando rsactivate -r -c
[Path del configuration file]. Il configuration file solitamente è C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\RSReportServer.config.
- Riavviare i servizi ReportServer e IIS, e tutto dovrebbe funzionare. Togliere il restricted user dal gruppo Administrators.
E questo è tutto. I servizi partono, il Web Service funziona e il report manager parte. Ora però sono stanco e vado a nanna... Nei prossimi giorni vedrò con calma se tutto si comporta come si deve.
Ah, dimenticavo di ringraziare Marco Russo per la preziosa consulenza. Grazie!