Deloguer tous les utilisateurs avec un filter
Salut,
Je developpe une appli web avec le Framework Struts et Spring et Hibernate, et là je voudrai développer un filter qui permet de vérifier si l'appli a été mis en maintenance ou pas(c'est l'admin de la base de données qui fait cette operation en mettant true dans une colonne dans une table ), notre filter va lire cette info et si c'est true pafff !!! l'appli a été mis en mode maintenance et en ce moment tous les utilisateurs vont être deloguer et je sais pas comment faire ça
Merci voici la partie importante de mon filter
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
logger.debug("Verification si l'appli est en mode maintenance");
MaintenanceService mtn = null;
HttpServletRequest hRequest = (HttpServletRequest) request;
try{
final WebApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(hRequest.getSession(false).getServletContext());
mtn = (MaintenanceService) ac.getBean("maintenanceSrv");
if(mtn.isEncoursMaintenance()){
logger.debug("Application a été mis en mode maintenance");
hRequest.getSession(true).setAttribute("inMtnce", new Object());
filterConfig.getServletContext().getRequestDispatcher("/WEB-INF/pages/maintenance.jsp").forward(request, response);
}
else{
if(hRequest.getSession(true).getAttribute("inMtnce")!=null)
filterConfig.getServletContext().getRequestDispatcher("/WEB-INF/pages/afterMntcRedirect.jsp").forward(request, response);
else
chain.doFilter(request, response);
}
}catch (Exception e) {
logger.error("Exception de type de NullPointerException a été levée dans le Filter",e);
filterConfig.getServletContext().getRequestDispatcher("/WEB-INF/pages/afterMntcRedirect.jsp").forward(request, response);
}
} |
Deloguer tous les utilisateur avec un filter
Bonjour,
Tout dépend comme tu logue tes utilisateurs.
Une idée : Un utilisateur se connecte avec son login et passwrd, et je mis une variable session SessionOuverte = true. Et si on est en mode maintenance, je modifie cette variable à False. ça te parle ?