Subversion Repositories bacoAlunos

Rev

Rev 2018 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2009 es 1
package pt.estgp.es.exemplos.hibernate.web;
2
 
3
import pt.estgp.es.exemplos.hibernate.HibernateUtils;
4
import pt.estgp.es.exemplos.hibernate.UserSession;
5
 
6
import javax.servlet.*;
7
import javax.servlet.http.HttpServletRequest;
8
import javax.servlet.http.HttpServletResponse;
9
 
10
 
11
import java.io.IOException;
12
 
13
import static org.hibernate.criterion.Restrictions.like;
14
 
15
public class UserFilter implements 1.5.0/docs/api/java/util/logging/Filter.html">Filter {
16
  @1.5.0/docs/api/java/lang/Override.html">Override
17
  public void init(FilterConfig filterConfig) throws ServletException{
18
 
19
  }
20
 
21
  @1.5.0/docs/api/java/lang/Override.html">Override
22
  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws 1.5.0/docs/api/java/io/IOException.html">IOException, ServletException {
23
    HttpServletResponse response=(HttpServletResponse) servletResponse;
24
 
25
    HttpServletRequest request = (HttpServletRequest) servletRequest;
26
    //request.getSession().getId();
27
    //SecurityCotextProvider.getInstance().registerSessionContext(request.getSession().getId());
28
    HibernateUtils.getCurrentSession().beginTransaction();
29
 
30
    UserSession session= (UserSession) HibernateUtils.getCurrentSession().load(UserSession.class, request.getSession().getId());;
31
    User u = session.getUser();
32
 
33
    if(u!=null && u.isAdmin()) {
34
      filterChain.doFilter(servletRequest, response);
35
    }
36
    else
37
      response.sendError(403);
38
 
39
    HibernateUtils.getCurrentSession().getTransaction().commit();
40
  }
41
 
42
  @1.5.0/docs/api/java/lang/Override.html">Override
43
  public void destroy() {
44
 
45
  }
46
 
47
}