Hej, Verkar ju som att webroot inte är satt på samma sätt.Dubbel påloggning
har precis bytt server på våran site och därmed också IIS version från 6 till 7.
Allt fungerar bra förutom en sak och jag kan inte förstå vad som är skillnaden eller hur man löser det.
Vi har en huvuddomän som har en underkatalog för varje kund och dessa ligger som egna applikationer och kör på egna pooler osv.. Detta ger oss en struktur som ser ut:
www.vårandomän.se/kund1
www.vårandomän.se/kund2
osv..
Vi använder oss av Forms authentication med en loginsida som heter LoggaIn.aspx och på den en standard .net loginkontroll.
Normalt förfarande (och som också fungerade utan problem på den gamla servern) är att man skriver in www.vårandomän.se/kund1 och kommer till www.vårandomän.se/kund1/LoggaIn.aspx. Försöker man gå till en sida utan att logga in hamnar man på www.vårandomän.se/kund1/LoggaIn.aspx?ReturnUrl=Sidan.aspx.
På den nya servern så verkar leta efter den sökta sidan på roten av strukturen.. så skriver jag nu www.vårandomän.se/kund1 så kommer jag till www.vårandomän.se/kund1/LoggaIn.aspx?ReturnUrl=%2fkund1%2f.
Detta medför att när jag loggar in här så försöker den gå till sidan kund1, vilken inte existerar och jag redirectas till loginsidan fast utan en ReturnUrl, vilket gör att jag kan logga in utan problem. Användaren uppfattar det dock som att vi måste logga in två gånger!
För info:
Det finns ingen site eller liknande på roten, alltså www.vårandomän.se, utan den länkas egentligen bara till en tom mapp.
I web.config har vi:
<authentication mode="Forms">
<forms defaultUrl="default.aspx" loginUrl="LoggaIn.aspx" name=".ASPXAUTH" protection="Validation" timeout="30" />
</authentication>
// Jesper EricssonSv: Dubbel påloggning
Prova att specifiera LoginUrl och DefaultUrl mer specifikt:
<code>
<forms name="login" loginUrl="kund1/LoggaIn.aspx" defaultUrl="kund1/default.aspx"/>
</code>