source: ether_eccad/trunk/ECCAD_INTERFACE/WEB-INF/src/org/medias/eccad/presentation/filtre/AuthorizationFilter.java @ 68

Last change on this file since 68 was 68, checked in by cbipsl, 14 years ago

commit v1 eccad

  • Property svn:executable set to *
File size: 2.2 KB
Line 
1package org.medias.eccad.presentation.filtre;
2
3import java.io.IOException;
4
5import javax.faces.context.FacesContext;
6import javax.servlet.Filter;
7import javax.servlet.FilterChain;
8import javax.servlet.FilterConfig;
9import javax.servlet.ServletException;
10import javax.servlet.ServletRequest;
11import javax.servlet.ServletResponse;
12import javax.servlet.http.HttpServletRequest;
13import javax.servlet.http.HttpServletResponse;
14import javax.servlet.http.HttpSession;
15
16
17import org.medias.eccad.helpers.LoggerPerso;
18import org.medias.eccad.presentation.bean.SessionBean;
19
20public class AuthorizationFilter implements Filter {
21        private String errorPage;
22
23        /**Filter should be configured with an system error page.*/
24        public void init (FilterConfig FilterConfig) throws ServletException {
25               if (FilterConfig != null) { 
26                   errorPage = FilterConfig.getInitParameter("error_page");
27               }
28        }
29
30        public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
31               throws ServletException, IOException  {
32                LoggerPerso.log(AuthorizationFilter.class, LoggerPerso.DEBUG, "dofilter : en cours");
33              if(errorPage == null) {
34                 returnError((HttpServletRequest) request, (HttpServletResponse) response,"AuthorizationFilter not properly configured! Contact Administrator.");
35              }
36
37              SessionBean sessionbean = (SessionBean)((HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false)).getAttribute("sessionBean");
38
39              if (sessionbean == null) {
40                  returnError((HttpServletRequest)request, (HttpServletResponse) response,"User does not exist in session!");
41              }
42             
43              LoggerPerso.log(AuthorizationFilter.class, LoggerPerso.DEBUG, "dofilter : quasi terminé");
44             
45              if (sessionbean.getEmail() == null)
46                  returnError((HttpServletRequest) request, (HttpServletResponse) response,"User does not exist in session!");
47              else
48                  chain.doFilter(request,response);
49        }
50
51        private void returnError(HttpServletRequest request, HttpServletResponse response, String string) throws IOException {
52                response.sendRedirect(errorPage);
53               
54        }
55
56        public void destroy() {
57                // TODO Auto-generated method stub
58               
59        }
60}
Note: See TracBrowser for help on using the repository browser.