[ ttjmm @ 11.02.2010. 09:35 ] @
E ovako. Imam Servlete koji trebaju da se zaštite lozinkom. Činim to tako što na ulazu u svaki čekiram HttpSession objekat na sledeći način: HttpSession session = request.getSession(true); Znači prvi put kada uđem na jedan od Servlet-a ako ne postoji HttpSession on bude kreiran. U slučaju da user nije logiran pokažem mu login formu. User ukuca pass i pošalje serveru. Na serveru čekiram pass na internu vrijednost pass. Ako je pass tačan pokažem stranicu i na session stavim attribut: session.setAttribute("logged"); Svaki sledeći put kada uđem na jedan od Servlet-a provjerim vrijednost ovog attributa. String logged = (String)session.getAttribute("logged"); if(logged == null){ // prikaži login form }else{ // prikaži sadržaj servlet-a } To je do sada radilo kako treba. Ali zbog nekih settinga ili update-a nešto se poremetilo. Vrlo tehnički znam ![]() Evo opisa u čemu je ustvari stvar: Kada sam se ranije otvarao jedan od Servlet-a browser-om dobijao sam isti session.getID();. Sada kada uđem na jedan, loggujem se i sve ok prodje. Ali ako odem na drugi Servlet session.getID(); se mjenja. Čekirao sam sa Firefox-om i sa IE, da provjerio sam da su cookies doyvoljeni i u oba. Mislim da ako ne radi ni u jednom da je do OS-a ili možda firewall-a. Čak sam komunikaciju snimio Wireshark-om, vidivši da kada browser-om šaljem informacije ka serveru onda u header-u sessionID ne bude dodat, kao što bi trebao. Ima li neko možda ideju zašto browseri ne šalju sessionID kao dio header-a? Hvala unaprijed |