|
@@ -12,8 +12,8 @@ import java.io.IOException;
|
|
|
|
|
|
@Component
|
|
|
@ServletComponentScan
|
|
|
-@WebFilter(urlPatterns = "/*",filterName = "shiroLoginFilter")
|
|
|
-public class ShiroLoginFilter implements Filter {
|
|
|
+@WebFilter(urlPatterns = "/*", filterName = "shiroLoginFilter")
|
|
|
+public class ShiroLoginFilter implements Filter {
|
|
|
|
|
|
private FilterConfig config = null;
|
|
|
|
|
@@ -21,31 +21,33 @@ public class ShiroLoginFilter implements Filter {
|
|
|
public void init(FilterConfig config) throws ServletException {
|
|
|
this.config = config;
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public void destroy() {
|
|
|
this.config = null;
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
|
|
|
HttpServletResponse response = (HttpServletResponse) servletResponse;
|
|
|
HttpServletRequest request = (HttpServletRequest) servletRequest;
|
|
|
// 允许哪些Origin发起跨域请求,nginx下正常
|
|
|
// response.setHeader( "Access-Control-Allow-Origin", config.getInitParameter( "AccessControlAllowOrigin" ) );
|
|
|
- response.setHeader( "Access-Control-Allow-Origin", request.getHeader("Origin") );
|
|
|
+ response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
|
|
|
// 允许请求的方法
|
|
|
- response.setHeader( "Access-Control-Allow-Methods", "*" );
|
|
|
+ response.setHeader("Access-Control-Allow-Methods", "*");
|
|
|
// 多少秒内,不需要再发送预检验请求,可以缓存该结果
|
|
|
- response.setHeader( "Access-Control-Max-Age", "86400" );
|
|
|
+ response.setHeader("Access-Control-Max-Age", "86400");
|
|
|
// 表明它允许跨域请求包含xxx头
|
|
|
- response.setHeader( "Access-Control-Allow-Headers", "JSESSIONID,x-auth-token,Origin,Access-Token,X-Requested-With,Content-Type, Accept" );
|
|
|
+ response.setHeader("Access-Control-Allow-Headers", "JSESSIONID,x-auth-token,Origin,Access-Token,X-Requested-With,Content-Type, Accept,token");
|
|
|
//是否允许浏览器携带用户身份信息(cookie)
|
|
|
- response.setHeader( "Access-Control-Allow-Credentials", "true" );
|
|
|
- if (request.getMethod().equals( "OPTIONS" )) {
|
|
|
+ response.setHeader("Access-Control-Allow-Credentials", "true");
|
|
|
+ if (request.getMethod().equals("OPTIONS")) {
|
|
|
response.setStatus(HttpStatus.SC_OK);
|
|
|
response.getWriter().write("OPTIONS returns OK");
|
|
|
return;
|
|
|
}
|
|
|
- filterChain.doFilter( servletRequest, response );
|
|
|
+ filterChain.doFilter(servletRequest, response);
|
|
|
}
|
|
|
|
|
|
|