Web app che da pc in rete si apre pop per autenticazione di windows

venerdì 11 maggio 2012 - 14.41
Tag Elenco Tags  .NET 3.5  |  Windows Server 2003  |  Visual Studio 2008  |  MySQL 5.5  |  Internet explorer 8.0  |  Firefox

josef_knecht Profilo | Newbie

Ciao a tutti,
ho un'applicazione sviluppata in asp net che gira su IIS 6 e win 2003 server con form autentication. Quando si chiama la pagina di login (quella di default del sito) questa viene presentata solo se richiesta in locale, da pc sulla stessa rete con Active Directory compare la classica pop up che mi chiede di autenticarmi con le credenziali di un utente valido. In realtà anche in locale con Firefox mi compare la pop up per autenticazione di windows, sullo stesso server web ci sono altre applicazioni che girano senza problemi. Ho controllato sulla scheda privacy del sito e l'autenticazione è anonima con flag "autenticazione integrata di windows"

P.S. Se può essere utile, lanciando la web app da visual studio, la pagina di login compare, poi lanciando la web app sulla stessa porta, anche da Firefox, non ho problemi.

Grazie

Jk

Gluck74 Profilo | Guru

hai provato a togliere "Autenticazione integrata di windows"??

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

josef_knecht Profilo | Newbie

le sto provando un po' tutte, si ho provato, ma in realtà non va tolto. Sto provando a vedere eventuali differenze con un'altra web app sempre con authentication forms ma che funziona, ma non ne trovo.

Jk

josef_knecht Profilo | Newbie

allora, ho notato che se tolgo dal global.asax la routine
sotto, non mi compare più la popup, ma non ho capito perchè però.
void Application_AuthenticateRequest(Object s, EventArgs e)
{
HttpApplication app = (HttpApplication)s;
string role = null;
string[] Utente = null;
if (app.Request.IsAuthenticated && (app.User.Identity) is FormsIdentity)
{
// carico l'utente e recupero il ticket
FormsIdentity identity = (FormsIdentity)HttpContext.Current.User.Identity;
FormsAuthenticationTicket ticket = identity.Ticket;
Utente = ticket.UserData.Split('|');
role = Utente[2];
//app.Context.User = New GenericPrincipal(identity, New String() {role})
HttpContext.Current.User = new GenericPrincipal(identity, new string[] { role });
}


}

josef_knecht Profilo | Newbie

in effetti il problema era proprio nel global.asax, avevo implementato una routine (non quella postata) di prova della quale mi ero completamente dimenticato

JK
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