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 | } |