[ strucchy @ 14.06.2012. 17:50 ] @
Zdravo drustvo, e ovako imam jako cudan problem.
Napravio sam web aplikaciju koristeci Tapestry IOC. Napravio WAR fajl. Instalirao zadnju verziju Tomcat 7 za Windows.
Sta se desava: uradio sam deploy WAR-a i pristupam aplikaciji iz lokala http://ipadresa:8080/ime radi sve ok na lokalnoj masini, radi sve ok unutar mreze kada pozivam po ipadresi. Sledece napravili smo domensko ime ime.net koje gadja direktno na ipadresu tog servera, problem je sledeci kada otvaram aplikaciju koriscenjem domenskog imena (posto ima korisnika van zgrade) dobijam efekte>
Ako je neki user logovan a ja dodjem na stranicu mene automatski loguje sa tim userom....
Imam stranice sa detaljima nekog zapisa, otvorim jedan zapis vidim detalje, otvorim poslije bilo koji drugi daje mi zapise onog prvog sto sam otvorio...

dok u lokalu nema problema.

Izludje me ovaj problem pomozite.

P.S. Nov sam u koriscenju Tomcata dobro bi mi dosli savjeti oko pravilne konfiguracije zastite ili jos ako imate neku knjigu tutorijal kako sve to da rijesim.

Hvala!
[ nemnesic @ 14.06.2012. 18:00 ] @
siguran li si da je u pitanju Tomcat?
Kako ti izlega java code koji cuva usera koji je logged in??
Da nemas slucajno neke static variables?

[ strucchy @ 14.06.2012. 18:03 ] @
meni radi sve ok u lokalnoj mrezi sa vise racunara....

java code ..
ublic class BasicAuthenticator implements Authenticator {

public static final String AUTH_TOKEN = "iictISSS";

@Inject
private UserDAO crudService;

@Inject
private Request request;

public void login(String username, String password)
throws AuthenticationException {
password = MD5.md5(password);
User user = crudService.findByUserNameAndPass(username, password);

if (user == null) {
throw new AuthenticationException("The user doesn't exist");
}

request.getSession(true).setAttribute(AUTH_TOKEN, user);
}

public boolean isLoggedIn() {
Session session = request.getSession(false);
if (session != null) {
return session.getAttribute(AUTH_TOKEN) != null;
}
return false;
}

public void logout() {
Session session = request.getSession(false);
if (session != null) {
session.setAttribute(AUTH_TOKEN, null);
session.invalidate();
}
}

public User getLoggedUser() {
User user = null;

if (isLoggedIn()) {
user = (User) request.getSession(true).getAttribute(AUTH_TOKEN);
} else {
throw new IllegalStateException("The user is not logged ! ");
}
return user;
}

}


sta bi onda bio problem sa stranicama, za detalje....
[ dejanet @ 14.06.2012. 20:22 ] @
Moguce da ti se session kreira sa razlicitim url (host name/domain), pa je JSESSIONID zapamcen sa razlicitim atributima.

Koliko se secam, probaj da u context.xml dodas sessionCookiePath="/ime". Takodje mozda moras da dodas i sessionCookieDomain.
[ strucchy @ 15.06.2012. 13:16 ] @
Nece da radi ni kada to stavim, sta mislis sta moze jos biti. Evo nedelju dana sam izgubio ....
Hvala
[ dejanet @ 15.06.2012. 15:12 ] @
Probaj da log-ujes login,isLoggedIn.. pre svega request.

Npr. ja bih poceo debug sa:

String userIp = request.getRemoteAddr(); // user ip

String hostIp = InetAddress.getLocalHost().getHostAddress(); // host ip

HttpSession session = request.getSession();
String id = session.getId(); // session id


Proveri takodje da nije nesto trivijalno tipa da testiras aplikaciju sa jednog mesta/browser-a a da je session jos aktivan.