BlårandMedlem sedan jan. 20032 356 inlägg Hej!
Provar mig fram med sessionhantering i JSP och servlets, och har en fundering.
Loggar in på en sida genom att fylla i namn och lösenord. Namn och lösenord sänds sedan till en servlet som kontrollerar att inloggningen är korrekt. Om inloggningen är korrekt sänds användaren vidare tll en JSP-sida.
Nu vill jag sätta in en kontroll så att ingen kan nå JSP-sidan via webbläsaren utan att först vara inloggad via formuläret. När jag gjort kontrollen att inloggningen är riktig, sätter jag en session enligt nedan:
HttpSession session = req.getSession();
res.sendRedirect(res.encodeRedirectURL("annan_sida.jsp"));
Hur ska jag göra för att få in en session kontroll på JSP-sidan, så att ingen kan öppna JSP-sidan utan att ha en riktig session? Eller är det så att jag inte kan sköta den kontrollen på en JSP-sida, utan måste ha en servlet som skriver ut den aktuella sidan åt mig, efter att en sessionkontroll gjorts?
Är väl i första hand ingen kodsnutt jag är ute efter, utan mer än förklaring hur jag går tillväga för att lösa problemet.
LimeMedlem sedan sep. 2001961 inlägg Då änvänder du JSecurity som är definierad i specen för JSP/J2EE och så sätter du upp en REALM. Då sköter din jsp-motor kontrollen om personen är inloggad eller inte.
BlårandMedlem sedan jan. 20032 356 inlägg Ok, tack för svaret.
Får kika närmare på REALM och se vad det kan ge.
stephanMedlem sedan feb. 2006117 inlägg Är lite nyfiken på detta. Kom du nånvart med REALM för inloggningshanteringen?
BlårandMedlem sedan jan. 20032 356 inlägg
stephan skrev:
Är lite nyfiken på detta. Kom du nånvart med REALM för inloggningshanteringen?
Nej, jag kom tyvärr ingenvart med REALM. Däremot lyckades jag få till en sessionhantering av standardformat, som jag tyckte fungerade bra för ändamålet.
LimeMedlem sedan sep. 2001961 inlägg Men varför uppfinna hjulet igen??
Titta en gång till på hur JEE hanterar Realmar så klarnar det nog. Det är oerhört kraftfullt att kunna använda en Realm och de inbyggda rollkontrollen som finns i GenericPrincipal. Vi gör t.ex. en site där olika roller får se olika information om en produkt. En kund ser t.ex. utpriset medans en återförsäljare även ser inköpspriset och om du är inhouseförsäljare så ser du även lagerstatus och marginaler.
I den siten har vi lyckats göra tiles som inte visas om användaren inte har rätt roll. Det betyder alltså att det är i just den komponent som visar inköpspriset som kontrollen görs och den kan då användas på vilken sida som helst utan att man behöver dubbelkoda behörighetskontrollen. Smart va, så säg...
stephanMedlem sedan feb. 2006117 inlägg Lime: Har du nån länk där man kan läsa mer om REALM?
LimeMedlem sedan sep. 2001961 inlägg