Subversion Repositories bacoAlunos

Rev

Blame | Last modification | View Log | RSS feed

package pt.estgp.es.exemplos.hibernate.web;

import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import pt.estgp.es.exemplos.hibernate.HibernateUtils;
import pt.estgp.es.exemplos.hibernate.User;
import pt.estgp.es.exemplos.hibernate.UserSession;
import pt.estgp.es.exemplos.hibernate.security.SecurityContextProvider;

import javax.servlet.*;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

import static org.hibernate.criterion.Restrictions.*;

public class UserFilter implements 1.5.0/docs/api/java/util/logging/Filter.html">Filter {
    @1.5.0/docs/api/java/lang/Override.html">Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @1.5.0/docs/api/java/lang/Override.html">Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws 1.5.0/docs/api/java/io/IOException.html">IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) servletResponse;
        //response.sendError(403);

        HttpServletRequest request = (HttpServletRequest) servletRequest;

        1.5.0/docs/api/java/lang/System.html">System.out.println(request.getSession().getId());

        HibernateUtils.getCurrentSession().beginTransaction();
        UserSession session = (UserSession) HibernateUtils.getCurrentSession().load(UserSession.class, request.getSession().getId());

        User u = session.getUser();
        if(u != null)
            filterChain.doFilter(servletRequest,response);

        else
            response.sendError(403);
        HibernateUtils.getCurrentSession().getTransaction().rollback();
    }

    @1.5.0/docs/api/java/lang/Override.html">Override
    public void destroy() {

    }
}