私は、ログインの成功の後、コントローラの方法でsession
オブジェクトに値を設定します。セッションが期限切れであることを知るには?
@RequestMapping(value = "/", method = RequestMethod.POST)
public ModelAndView processLogin(Model model, HttpServletRequest request, HttpSession session, @RequestParam String login, @RequestParam String pwd) {
if (utilisateurDao.verifierLoginUser(login)) {
if (utilisateurDao.verifierUser(login, pwd)) {
HashMap<String, String> criteres = new HashMap<String, String>();
criteres.put("user_login", login);
criteres.put("user_passwd", pwd);
List<Utilisateur> users = utilisateurDao.lireParCritere(criteres);
session.setAttribute("user_code", ((Utilisateur)users.get(0)).getUser_code());
session.setAttribute("menu", menuDao.afficherMenuParUtilisateur((Integer)session.getAttribute("user_code"), env, request, session));
criteres.clear();
users.clear();
criteres.put("user_code", String.valueOf(session.getAttribute("user_code")));
users = utilisateurDao.lireParCritere(criteres);
session.setAttribute("user_names", ((Utilisateur)users.get(0)).getNoms());
session.setAttribute("logout_menu", env.getProperty("menu.logout"));
return new ModelAndView("redirect:/accueil");
} else {
ModelAndView modelViewLogin = new ModelAndView("redirect:/");
modelViewLogin.addObject("e", "p").addObject("l", login);
return modelViewLogin;
}
} else {
ModelAndView modelViewLogin = new ModelAndView("redirect:/");
modelViewLogin.addObject("e", "l");
return modelViewLogin;
}
}
は、その後、私はいくつかの分間非アクティブなアプリを開きました。その後、私は "accueil"の道に行きました。その後、メニューは表示されなくなりました。メニューはsession
です。だから、session
が期限切れであり、それをテストする便利な場所はどこですか?
ここで、このクラスのLogoutListenerをインスタンス化する必要がありますか? – pheromix
これをSpringコンテキストのコンポーネントとして追加するだけです。同様の方法で、他のサービスやコントローラを追加しています。 – RMachnik