jak zatrzymać już zalogowanego użytkownika, aby zalogować się z innej przeglądarki
Mam funcitonality logowania w mojej aplikacji, gdzie jestem w stanie przechowywać użytkownika w sesji i jestem także w stanie zatrzymać użytkownika, aby się zalogował, jeśli jest już zalogowany w tej samej przeglądarce. Zaloguj się ponownie z innej przeglądarki, nie mogę go powstrzymać.
oto kod ..
Używam tego
session=getThreadLocalRequest().getSession(true);
User loggedInUser = (User) session.getAttribute("user");
Teraz ten loggedInUser ma obiekt użytkownika, jeśli loggedInUser próbuje dostać się do aplikacji z SAME przeglądarki na innej karcie (tak to działa dla mnie)
ALE ten loggedInUser ma wartość NULL, jeśli loggedInUser próbuje dostać się do aplikacji z RÓŻNEJ przeglądarki (więc to nie działa dla mnie)
oto kod ..
public User signIn(String userid, String password) {
String result = "";
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
MySQLRdbHelper rdbHelper = (MySQLRdbHelper) ctx.getBean("ManagerTie");
User user = (User) rdbHelper.getAuthentication(userid, password);
if(user!=null)
{
session=getThreadLocalRequest().getSession(true);
User loggedInUser = (User) session.getAttribute("user");
if(loggedInUser != null && user.getId() == loggedInUser.getId()){
user.setId(0);
}else{
session=getThreadLocalRequest().getSession(true);
session.setAttribute("user", user);
}
}
return user;
Używam JAVA, GWT