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/AutoGeneratenel tag<processModel>, bisogna dare diritti di lettura al restricted user nella cartella di installazione (solitamenteC:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services); al fileglobal.asaxnelle cartelleReportServereReportManagerdare 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 comandorsactivate -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!