Errore HTTP 401 Unauthorized

giovedì 26 luglio 2012 - 16.27
Tag Elenco Tags  C#  |  .NET 2.0  |  Windows Server 2003  |  Visual Studio 2005  |  SQL Server 2005

skraus Profilo | Junior Member

Ho una applicazione asp.net (.net 2.0) che devo pubblicare in Internet. Su di una macchina specifica ho predisposto il SQL Server 2005 completo di Servizio di Reportistica.

Ho realizzato dei report e li ho distribuiti sul server sql. Mediante un accesso diretto al servizio di reportisitica http://nomeserver/reportserver ed inserendo le corrette credenziali Windows il report funziona. Dovendo distribuire in Internet la mia web app ho esigenza che l'autenticazione non fosse basata su Windows, per cui seguendo questo articolo http://msdn.microsoft.com/en-us/library/eb0zx8fc(v=vs.80).aspx mo modificato il file di configurazione della mia web app e del reportserver, oltre che impostare l'autenticazione anonima sull'IIS del sito di reportserver.

Mi sono poi creato una pagina nuova .aspx in cui ho inserito il controllo ReportViewer. Ho configurato il controllo RW in modo da punatare al server di reportisitica, alla cartella e report che mi interessa.

Però quando provo a richiamare la pagina che dovrebbe mostrarmi il report ottengo l'errore HTTP 401 Unauthorized.

Quello che vorrei ottenere e che l'utente autenticato all'interno della web app possa accedere al report così come accede alle pagine .aspx dell'applicazione che sta utilizzando. La mia applicazione utilizza per autenticare gli utenti il memebrship provider di asp.net sempre sulla medesima SQL Server in cui c'è il servizio di reportistica.

A mio avviso manca qualcosa, ma non riesco a capire cosa e dove.

Grazie,
Sk

freeteo Profilo | Guru

Ciao, perdona il ritardo nella risposta.
Se non hai ancora risolto, ti dico cosa posso pensare da quello che hai scritto:
l'articolo parla dell'autenticazione forms, che è un modo di auth di Asp.net dove per accedere ad alcune aree dell'applicativo (cartelle o files) bisogna o meno passare per una pagina di Login, su cui appunto viene fatta l'autenticazione.
Io ti dico uso questo praticamente per tutti gli applicativi web che ho sviluppato negli anni.

Nel tuo caso, se ho capito bene, è un errore di authenticazione quando il viewer chiama il reportserver, non vorrei che il tuo problema fosse qualcosa relativo all'utente con cui gira la tua app, che "non passa" nella chiamata al server di report.
Hai provato a chiamare da browser, dentro sul server, direttamente il reportserver per vedere se ti risponde e ti visualizza i report?

Altrimenti significa che l'utente con cui gira la tua app, probabilmente "aspnet", non sia abilitato, in questo caso, se sai che deve girare con un utente specifico puoi mettere nel web.config della tua app, un'impersonificazione:
<identity impersonate="true" username="matteo" password="raumer" />

E' uno spunto...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5