我的应用程序中有一个登录功能,我可以将用户存储在会话中,如果他已经在同一个浏览器上登录,我还可以阻止用户登录。但是如果登录用户尝试登录从不同的浏览器再次登录我无法阻止他。
这是代码..
我正在使用这个
session=getThreadLocalRequest().getSession(true);
User loggedInUser = (User) session.getAttribute("user");
现在,如果 loggedInUser 尝试从另一个选项卡中的相同浏览器进入应用程序,则此 loggedInUser 具有用户对象(所以它适用于我)
但是,如果 loggedInUser 尝试从不同的浏览器进入应用程序,则此 loggedInUser 为空(因此它对我不起作用)
这是代码..
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;
我正在使用 JAVA , GWT