Filter Mapping - jsf, jpa, primefaces

67 views
Skip to first unread message

vilmar ferreira

unread,
Sep 6, 2017, 6:11:33 PM9/6/17
to jav...@googlegroups.com
Prezados colegas,

Estou utilizando filter para acesso as minhas views somente quem tem permissao. Para isso fiz uma view login.xhtml

Todas as minhas views estão no mesmo nivel de projeto, ou seja, em webapp.

Criei uma classe que implementa doFilter e mapeei no web.xml. Mas como elas estão no mesmo nivel nao consigo acessar nem minha login.xhtml, somente se eu mudar de nivel, mas dai terei que mudar alguns links do meu layout facelets. Alguem pode me ajudar?? Segue abaixo meus codigos da classe dofilter e web.xml.

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpSession session = ((HttpServletRequest) request).getSession();

Usuario usuario = (Usuario) session.getAttribute("usuario");

if (usuario == null) {

session.setAttribute("msg", "Você não está logado no sistema!");

((HttpServletResponse) response).sendRedirect("/sigh/login.jsf");

} else {

chain.doFilter(request, response);

}
}





web.xml:

<filter>
  <filter-name>PageFilter</filter-name>
  <filter-class>br.com.bancoamazonia.sigh.util.PageFilter</filter-class>
  </filter>
  <filter-mapping>
  <filter-name>PageFilter</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>

Rafael Ponte

unread,
Sep 8, 2017, 7:39:46 AM9/8/17
to jav...@googlegroups.com
olá vilmar,

dentro do filter você tem poder para decidir qual fluxo tomar de acordo com as informações vindas no request, dessa forma bastaria olhar a URL solicitada e daí liberar ou não o acesso. Algo parecido com este filtro.

Um abraço,

--
Você recebeu essa mensagem porque está inscrito no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CACbQbvfsGNCq1LcmFkAf8SVSH9h01ZGCdTnccdv2ceVZH%3DaNLw%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.
--
Rafael Ponte
TriadWorks | Formação Java
http://cursos.triadworks.com.br
Reply all
Reply to author
Forward
0 new messages