Sul mio Pc di casa ho Windows XP Sp2 in inglese installato da un cd con SP2 direttamente integrato (slipstreamed). Da qui, ho creato una web application ASP.NET con 2 pagine: Login.aspx e HomePage.aspx
Il web.config contiene:
<
authentication mode="Forms">
<forms name="FORMSAUTH-TEST" loginUrl="Login.aspx" />
authentication>
<authorization>
<deny users="?" />
authorization>
Nella pagina Login.aspx c'è un pulsante il cui codice sull'evento click è:
System.Web.Security.FormsAuthentication.RedirectFromLoginPage("Alberto", false);
in modo che, appena faccio click, vengo rediretto sulla prima pagina dell'applicazione.
Tutto molto semplice, finché nel web.config non aggiungo:
<
identity impersonate="true" />
e non porto questa stupida applicazione al lavoro, dove ho un Pc con Windows XP Sp1 in italiano nel quale ho installato il Service Pack 2 subito dopo il rilascio nella nostra lingua "nostrana".
Se carico la mia applicazione in Visual Studio 2003, ottengo un errore del tipo
Errore inatteso: Indirizzamento HTTP 1.1 non riuscito
Questa è bella: non mi dà errore a runtime, ma durante l'apertura della solution! Non so veramente dove sbattere la testa. Finche, per qualche motivo strano, non mi viene in mente di provare a togliere il tag "identity" dal web.config.
Sorpresa! Tutto funziona!!! Almeno, fino a quando non riaggiungo il tag "identity"...
Seconda sorpresa: in un Pc Windows XP italiano con Service Pack 1 il problema non si manifesta!
Mi viene da pensare che l'installazione del Service Pack 2 di Windows XP non sia proprio identica se fatta "da zero" o fatta su un Pc con già il sistema operativo installato, almeno per quanto riguarda la parte IIS.
Keep on investigating...