intercepting all requests and checking token for validity /commented out for now for easier testing/
This commit is contained in:
1 parent
81bb6c2961
commit
07c11d6c3b
3 files changed
+76
-44
No files matched your search
@@ -1,11 +1,9 @@
|
||||
package hello;
|
||||
|
||||
import hello.agh.edu.bazy.postgresql.gis.GisDataSource;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
|
||||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
||||
@@ -18,7 +16,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
|
||||
/*
|
||||
@ImportResource("classpath:/database-blueprint1.xml")
|
||||
*/
|
||||
public class Application extends WebMvcConfigurerAdapter implements CommandLineRunner{
|
||||
public class Application extends WebMvcConfigurerAdapter implements CommandLineRunner {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
@@ -34,10 +32,9 @@ public class Application extends WebMvcConfigurerAdapter implements CommandLineR
|
||||
|
||||
@Override
|
||||
public void addInterceptors(InterceptorRegistry registry) {
|
||||
registry.addInterceptor(new SampleInterceptor()).addPathPatterns("/**");
|
||||
registry.addInterceptor(new RequestInterceptor()).addPathPatterns("/**");
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
@Bean(name = "gisosmDataSource")
|
||||
public GisDataSource dataSource() {
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
package hello;
|
||||
|
||||
|
||||
import hello.agh.edu.bazy.controllers.LoginController;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* Created by lukasgol on 22.01.15.
|
||||
*/
|
||||
@Component
|
||||
public class RequestInterceptor extends HandlerInterceptorAdapter {
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
|
||||
|
||||
@Override
|
||||
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
|
||||
super.postHandle(request, response, handler, modelAndView);
|
||||
System.out.println("************************");
|
||||
System.out.println("post handle interceptor");
|
||||
System.out.println("************************");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
System.out.println("************************");
|
||||
System.out.println("pre handle interceptor");
|
||||
System.out.println("************************");
|
||||
|
||||
/**
|
||||
* Commented out: checking if user has correct token and permission
|
||||
* before all requests
|
||||
*/
|
||||
|
||||
// if (!correctHeaders(request)) {
|
||||
// System.out.println("No token or permission parameter in header.");
|
||||
// response.sendError(HttpStatus.BAD_REQUEST.value(), "No token or permission parameter in request header");
|
||||
// return super.preHandle(request, response, handler);
|
||||
// }
|
||||
//
|
||||
// if (validToken(request.getHeader(LoginController.TOKEN), request.getHeader(LoginController.PERMISSION))) {
|
||||
// return super.preHandle(request, response, handler);
|
||||
// } else {
|
||||
// System.out.println("Token or permission not valid.");
|
||||
// response.sendError(HttpStatus.UNAUTHORIZED.value(), "Token or permission not valid.");
|
||||
// return super.preHandle(request, response, handler);
|
||||
// }
|
||||
|
||||
/**
|
||||
* deleted when uncommenting section above ^^
|
||||
*/
|
||||
return super.preHandle(request, response, handler);
|
||||
}
|
||||
|
||||
private boolean validToken(String token, String permission) {
|
||||
return restTemplate.getForObject(ModuleServicePaths.CHECK_PERMISSION_FOR_TOKEN
|
||||
.concat("?token=").concat(token)
|
||||
.concat("&permission=").concat(permission),
|
||||
Boolean.class
|
||||
);
|
||||
}
|
||||
|
||||
private boolean correctHeaders(HttpServletRequest request) {
|
||||
return request.getHeader(LoginController.TOKEN) != null
|
||||
&& request.getHeader(LoginController.PERMISSION) != null;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
package hello;
|
||||
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
/**
|
||||
* Created by lukasgol on 22.01.15.
|
||||
*/
|
||||
@Component
|
||||
public class SampleInterceptor extends HandlerInterceptorAdapter {
|
||||
|
||||
@Override
|
||||
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
|
||||
super.postHandle(request, response, handler, modelAndView);
|
||||
System.out.println("************************");
|
||||
System.out.println("post handle interceptor");
|
||||
System.out.println("************************");
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
|
||||
System.out.println("************************");
|
||||
System.out.println("pre handle interceptor");
|
||||
System.out.println("************************");
|
||||
//
|
||||
// if (request.getHeader(LoginController.TOKEN) == null || request.getHeader(LoginController.PERMISSION) == null) {
|
||||
// System.out.println("No token or permission parameter in header.");
|
||||
// response.sendError(HttpStatus.UNAUTHORIZED.value(), "No token or permission parameter in request header");
|
||||
// return super.preHandle(request, response, handler);
|
||||
// }
|
||||
|
||||
return super.preHandle(request, response, handler);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user