Skip to content
Snippets Groups Projects
Commit 285388a8 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

fix cors issue

parent 9211c37b
Branches cors-issue
No related tags found
No related merge requests found
Pipeline #102835 failed
package lcsb.mapviewer.web.bean.utils; package lcsb.mapviewer.web.bean.utils;
import java.io.IOException; import lcsb.mapviewer.common.Configuration;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import javax.servlet.Filter; import javax.servlet.Filter;
import javax.servlet.FilterChain; import javax.servlet.FilterChain;
...@@ -10,24 +12,10 @@ import javax.servlet.ServletRequest; ...@@ -10,24 +12,10 @@ import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse; import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import lcsb.mapviewer.common.Configuration;
/**
* This filter enables ajax queries from all domains. It should be used for
* restfull API.
*
* @author Piotr Gawron
*
*/
public class CORSFilter implements Filter { public class CORSFilter implements Filter {
/**
* Default class logger.
*/
@SuppressWarnings("unused")
private final Logger logger = LogManager.getLogger(); private final Logger logger = LogManager.getLogger();
@Override @Override
...@@ -45,6 +33,12 @@ public class CORSFilter implements Filter { ...@@ -45,6 +33,12 @@ public class CORSFilter implements Filter {
origin = "*"; origin = "*";
} }
response.setHeader("Access-Control-Allow-Origin", origin); response.setHeader("Access-Control-Allow-Origin", origin);
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Headers",
"Access-Control-Allow-Headers, "
+ "Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers");
response.setHeader("Access-Control-Allow-Methods", "GET,POST,PUT,PATCH,DELETE,HEAD,OPTIONS");
chain.doFilter(req, response); chain.doFilter(req, response);
} }
......
package lcsb.mapviewer.web.config; package lcsb.mapviewer.web.config;
import java.io.IOException; import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map; import lcsb.mapviewer.common.Configuration;
import java.util.TreeMap; import lcsb.mapviewer.model.user.User;
import lcsb.mapviewer.services.interfaces.IUserService;
import javax.servlet.ServletException; import lcsb.mapviewer.web.bean.utils.CORSFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
...@@ -15,18 +12,22 @@ import org.springframework.security.core.Authentication; ...@@ -15,18 +12,22 @@ import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.AuthenticationSuccessHandler; import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.fasterxml.jackson.databind.ObjectMapper; import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import lcsb.mapviewer.common.Configuration; import javax.servlet.ServletRequest;
import lcsb.mapviewer.model.user.User; import javax.servlet.ServletResponse;
import lcsb.mapviewer.services.interfaces.IUserService; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;
import java.util.TreeMap;
@Component @Component
public class AuthenticationSuccessHandlerImpl implements AuthenticationSuccessHandler { public class AuthenticationSuccessHandlerImpl implements AuthenticationSuccessHandler {
private static Logger logger = LogManager.getLogger(); private static final Logger logger = LogManager.getLogger();
private IUserService userService; private final IUserService userService;
public AuthenticationSuccessHandlerImpl(final IUserService userService) { public AuthenticationSuccessHandlerImpl(final IUserService userService) {
this.userService = userService; this.userService = userService;
...@@ -64,6 +65,11 @@ public class AuthenticationSuccessHandlerImpl implements AuthenticationSuccessHa ...@@ -64,6 +65,11 @@ public class AuthenticationSuccessHandlerImpl implements AuthenticationSuccessHa
response.setContentType("application/json"); response.setContentType("application/json");
response.getWriter().print(json); response.getWriter().print(json);
new CORSFilter().doFilter(request, response, new FilterChain() {
@Override
public void doFilter(final ServletRequest request, final ServletResponse response) throws IOException, ServletException {
}
});
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment