Subversion Repositories bacoAlunos

Rev

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