Oi pessoal,
estou tentado rodar um exemplo de login que peguei, mas não tive sucesso. :(
Do jeito que tá aparece a tela de login toda hora. A cada botão/link que eu clico está pedindo pra que eu efetue o login.
<filter>
<filter-name>HibernateSessionFilter</filter-name>
<filter-class>br.com.sis.filter.HibernateSessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HibernateSessionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<display-name>AuthFilter</display-name>
<filter-name>AuthFilter</filter-name>
<filter-class>br.com.sis.filter.AuthFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
public class AuthFilter implements Filter {
/**
* Default constructor.
*/
public AuthFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
boolean auth = request.getAttribute("user") != null;
HttpServletRequest rq = (HttpServletRequest) request;
HttpServletResponse rp = (HttpServletResponse) response;
if(!auth && !rq.getRequestURL().toString().contains("login.faces")){
rp.sendRedirect("login.faces");
}else{
try {
chain.doFilter(request, response);
} catch (Exception e) {
System.out.println("Problema no chain.doFilter");
e.printStackTrace();
}
}
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
public String doLogin(){
if(userDao.isValidLoginAndPassword(login, senha)){
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("user", "ok");
System.out.println("Login e Senha corretos!");
return "loginSucesso";
}else{
System.out.println("Entrou no else: reloadError");
return "goLogin";
}
}
Ele loga no sistema e me enchaminha pra página principal, que é o que quero. Mas se eu clico em alguma opção, aparece o login novamente.
Outra coisa estranha é que o CSS não funciona quando eu registro o filtro no web.xml.
Saída no console:
Mudando login para: admin
Login e Senha corretos!
Problema no chain.doFilter
javax.servlet.ServletException: org.ajax4jsf.resource.ResourceNotFoundException: Resource not registered : org/richfaces/renderkit/html/scripts/
at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:154)
at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:141)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:510)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at br.com.sis.filter.AuthFilter.doFilter(AuthFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at br.com.sis.filter.HibernateSessionFilter.doFilter(HibernateSessionFilter.java:22)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: org.ajax4jsf.resource.ResourceNotFoundException: Resource not registered : org/richfaces/renderkit/html/scripts/
at org.ajax4jsf.resource.ResourceBuilderImpl.getResource(ResourceBuilderImpl.java:397)
at org.ajax4jsf.resource.ResourceBuilderImpl.getResourceForKey(ResourceBuilderImpl.java:341)
at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:152)
... 20 more
Alguém já passou por isso?