Skip to content
Snippets Groups Projects
Commit d2e6032a authored by BEAUVAIS ANTOINE's avatar BEAUVAIS ANTOINE
Browse files

Proper CORS mappings.

parent f5b50e6e
Branches
2 merge requests!36Fixed CORS mapping 2.,!35Proper CORS mappings.
......@@ -16,6 +16,7 @@ import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
/**
* Main configuration file for the application.
......@@ -107,6 +108,16 @@ public class WebMvcConfig implements WebMvcConfigurer {
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new ApiAuthenticationInterceptor(this.env.getRequiredProperty("api.key"))).addPathPatterns(API_PREFIX + "**");
}
/**
* CORS mappings.
* @param cr Spring's CORS Registry.
*/
@Override
public void addCorsMappings(CorsRegistry cr)
{
cr.addMapping("/**").allowedOrigins("*").allowedMethods("*");
}
/**
* SQL Connection object.
......
/*
* CONTRAT DE LICENCE DE LOGICIEL LIBRE CECILL-B
* https://cecill.info/licences/Licence_CeCILL-B_V1-fr.html
*/
package fr.unistra.sil.erp.back.filter;
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
/**
* Because Spring sucks.
*
* @author BEAUVAIS ANTOINE
*/
@Component
public class CORSFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest hsr, HttpServletResponse hsr1, FilterChain fc) throws ServletException, IOException {
hsr1.addHeader("Access-Control-Allow-Origin", "*");
fc.doFilter(hsr, hsr1);
}
}
......@@ -48,6 +48,9 @@ public class ApiAuthenticationInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler)
{
if(request.getMethod().equals("OPTIONS"))
return true;
if(this.apikey == null)
{
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment