Project

General

Profile

1
package eu.dnetlib.uoaadmintools.handlers;
2

    
3
import eu.dnetlib.uoaadmintools.handlers.utils.AuthorizationUtils;
4
import org.apache.log4j.Logger;
5
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
6

    
7
import javax.servlet.http.HttpServletRequest;
8
import javax.servlet.http.HttpServletResponse;
9

    
10
/**
11
 * Created by argirok on 23/2/2018.
12
 */
13
public class AuthorizationHandler extends HandlerInterceptorAdapter {
14
    private final Logger log = Logger.getLogger(this.getClass());
15
    private AuthorizationUtils helper = new AuthorizationUtils();
16

    
17
    public AuthorizationHandler(String userInfoUrl, String originServer){
18
        helper.setOriginServer(originServer);
19
        helper.setUserInfoUrl(userInfoUrl);
20
    }
21
    @Override
22
    public boolean preHandle(
23
            HttpServletRequest request,
24
            HttpServletResponse response,
25
            Object handler) throws Exception {
26

    
27
//        log.debug("request method " + request.getRemoteHost());
28
        log.debug("properties: " + helper.getOriginServer() + " "+ helper.getUserInfoUrl());
29
        if(request.getMethod().equals("POST") || request.getMethod().equals("DELETE")){
30
            //TODO check domain & check user info
31
            if(!this.helper.checkCookies(request) || !helper.isAuthorized(helper.getToken(request))){
32

    
33
                response.setHeader("Access-Control-Allow-Credentials","true");
34
                response.setHeader("Access-Control-Allow-Origin","*");
35
                response.setHeader("Vary","Origin");
36

    
37
                response.setStatus(403);
38
                response.sendError(403, "Forbidden: You don't have permission to access. Maybe you are not registered.");
39
                return false;
40
            }
41

    
42
        }
43
        return true;
44
    }
45

    
46

    
47
//    @Override
48
//    public void postHandle(
49
//            HttpServletRequest request,
50
//            HttpServletResponse response,
51
//            Object handler,
52
//            ModelAndView modelAndView) throws Exception {
53
//        log.info("I am here - postHandle ");
54
//    }
55
//
56
//    @Override
57
//    public void afterCompletion(
58
//            HttpServletRequest request,
59
//            HttpServletResponse response,
60
//            Object handler, Exception ex) {
61
//        log.info("I am here - afterCompletion ");
62
//    }
63

    
64
}
(1-1/3)