Bonjour,

Je débute sous JSF et j'ai une modification à apporter à mon appli. Il s'agit de tester si l'utilisateur à l'accès à l'application. S'il n'a pas accès on le redirige vers un écran avec un message et des liens.

J'effectue le test via une classe qui dérive de Filter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {
  HttpSession session =  ((HttpServletRequest) request).getSession(true);
  String pathUrl = ((HttpServletRequest) request).getContextPath();
  userSession = (UserSession) session.getAttribute(GlobalConstants.USER_SESSION);
  fwsLogger.debug("[RoleFilter- In] userSession est à null, nous allons le créer");
 
  if (userSession == null) {
	//code de l'appel service et de valorisation du Bean UserSession
	}catch (Exception se) {
	//gestion de mon excpetion service.
	} 
	} 
  if (pathUrl.contains("hmo")&& !userSession.isRoleHmo()){
		request.getRequestDispatcher("/faces/habil_error.jsp").forward(request, response);
		return;
	  }
  chain.doFilter(request, response);
 
  }
Une chose bizzarre arrive : lorsque j'effectue le forward après le test de vacuité de l'objet UserSession, il m'affiche une page avec une erreur javascript (il s'agit bien de ma jsp mais affichée sans la mise en page).
Lorsque je met le code à l'intérieur du test de vacuité du UserSession, c'est nickel.
Est ce que quelqu'un aurait une piste?

Merci d'avance pour vos réponses et/ou vos questions!