From 6774c3783da5e75d9f2f8f1be03deafb89755a16 Mon Sep 17 00:00:00 2001 From: o2null Date: Fri, 28 Aug 2020 14:40:10 +0000 Subject: [PATCH] Merge branch 'fix/#331' into 'wrdp' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit options优化 See merge request o2oa/o2oa!1472 (cherry picked from commit 68d35fb5c0a4d87fc3f908a9fc2a1d4f52b803c0) 4d6e8585 options优化 --- .../x/base/core/project/http/FilterTools.java | 34 +++++++++---------- ...AnonymousCipherManagerUserJaxrsFilter.java | 2 ++ .../project/jaxrs/AnonymousJaxrsFilter.java | 2 ++ .../core/project/jaxrs/CipherJaxrsFilter.java | 2 ++ .../jaxrs/CipherManagerJaxrsFilter.java | 2 ++ .../jaxrs/CipherManagerUserJaxrsFilter.java | 2 ++ .../project/jaxrs/ManagerUserJaxrsFilter.java | 2 ++ .../base/core/project/jaxrs/TokenFilter.java | 6 ++++ .../core/project/jaxrs/UserJaxrsFilter.java | 2 ++ 9 files changed, 37 insertions(+), 17 deletions(-) diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/FilterTools.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/FilterTools.java index f92e92739c..0a82f45453 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/FilterTools.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/FilterTools.java @@ -8,38 +8,38 @@ import org.apache.commons.lang3.StringUtils; public class FilterTools { public static final String Access_Control_Allow_Origin = "Access-Control-Allow-Origin"; + public static final String ORIGIN = "Origin"; public static final String Access_Control_Allow_Methods = "Access-Control-Allow-Methods"; public static final String Access_Control_Allow_Methods_Value = "GET, POST, OPTIONS, PUT, DELETE, HEAD, TRACE"; public static final String Access_Control_Allow_Headers = "Access-Control-Allow-Headers"; public static final String Access_Control_Allow_Headers_Value = "x-requested-with, x-request, x-token, c-token, Content-Type, Content-Length, x-cipher, x-client, x-debugger, Authorization"; public static final String Access_Control_Allow_Credentials = "Access-Control-Allow-Credentials"; public static final String Access_Control_Expose_Headers = "Access-Control-Expose-Headers"; + public static final String Access_Control_Max_Age = "Access-Control-Max-Age"; + public static final String Access_Control_Max_Age_Value = "86400"; public static void allow(HttpServletRequest request, HttpServletResponse response) throws Exception { - try { - String origin = request.getHeader("Origin"); - response.addHeader(Access_Control_Allow_Origin, StringUtils.isBlank(origin) ? "*" : origin); - response.addHeader(Access_Control_Allow_Methods, Access_Control_Allow_Methods_Value); - response.addHeader(Access_Control_Allow_Headers, Access_Control_Allow_Headers_Value); - response.addHeader(Access_Control_Allow_Credentials, "true"); - response.setHeader(Access_Control_Expose_Headers, "x-token, c-token"); - } catch (Exception e) { - throw e; - } + String origin = request.getHeader(ORIGIN); + response.addHeader(Access_Control_Allow_Origin, StringUtils.isBlank(origin) ? "*" : origin); + response.addHeader(Access_Control_Allow_Methods, Access_Control_Allow_Methods_Value); + response.addHeader(Access_Control_Allow_Headers, Access_Control_Allow_Headers_Value); + response.addHeader(Access_Control_Allow_Credentials, "true"); + response.setHeader(Access_Control_Expose_Headers, "x-token, c-token"); + response.setHeader(Access_Control_Max_Age, Access_Control_Max_Age_Value); } - public static String Application_Not_Initialized_Json = "{\"type\": \"error\", \"message\": \"application not initialized.\"}"; + public static final String Application_Not_Initialized_Json = "{\"type\": \"error\", \"message\": \"application not initialized.\"}"; - public static String Application_Not_CipherManagerUser_Json = "{\"type\": \"error\", \"message\": \"not cipher or manager or user.\"}"; + public static final String Application_Not_CipherManagerUser_Json = "{\"type\": \"error\", \"message\": \"not cipher or manager or user.\"}"; - public static String Application_Not_CipherManager_Json = "{\"type\": \"error\", \"message\": \"not cipher or manager.\"}"; + public static final String Application_Not_CipherManager_Json = "{\"type\": \"error\", \"message\": \"not cipher or manager.\"}"; - public static String Application_Not_Anonymous_Json = "{\"type\": \"error\", \"message\": \"not anonymous.\"}"; + public static final String Application_Not_Anonymous_Json = "{\"type\": \"error\", \"message\": \"not anonymous.\"}"; - public static String Application_Not_ManagerUser_Json = "{\"type\": \"error\", \"message\": \"not manager or user.\"}"; + public static final String Application_Not_ManagerUser_Json = "{\"type\": \"error\", \"message\": \"not manager or user.\"}"; - public static String Application_Not_User_Json = "{\"type\": \"error\", \"message\": \"not user.\"}"; + public static final String Application_Not_User_Json = "{\"type\": \"error\", \"message\": \"not user.\"}"; - public static String Application_Not_Cipher_Json = "{\"type\": \"error\", \"message\": \"not cipher.\"}"; + public static final String Application_Not_Cipher_Json = "{\"type\": \"error\", \"message\": \"not cipher.\"}"; } diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/AnonymousCipherManagerUserJaxrsFilter.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/AnonymousCipherManagerUserJaxrsFilter.java index 487d3694c3..fe52ffeb98 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/AnonymousCipherManagerUserJaxrsFilter.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/AnonymousCipherManagerUserJaxrsFilter.java @@ -24,6 +24,8 @@ public abstract class AnonymousCipherManagerUserJaxrsFilter extends TokenFilter HttpToken httpToken = new HttpToken(); httpToken.who(request, response, Config.token().getCipher()); chain.doFilter(request, response); + } else { + options(request,response); } } catch (Exception e) { e.printStackTrace(); diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/AnonymousJaxrsFilter.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/AnonymousJaxrsFilter.java index a654b52ffe..5f2c4d57bf 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/AnonymousJaxrsFilter.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/AnonymousJaxrsFilter.java @@ -38,6 +38,8 @@ public abstract class AnonymousJaxrsFilter extends TokenFilter { } else { chain.doFilter(request, response); } + } else { + options(request,response); } } catch (Exception e) { e.printStackTrace(); diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherJaxrsFilter.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherJaxrsFilter.java index eb95af982e..e7b3d25a93 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherJaxrsFilter.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherJaxrsFilter.java @@ -38,6 +38,8 @@ public abstract class CipherJaxrsFilter extends TokenFilter { } else { chain.doFilter(request, response); } + } else { + options(request,response); } } catch (Exception e) { e.printStackTrace(); diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherManagerJaxrsFilter.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherManagerJaxrsFilter.java index 42be220e0f..0f6a6fc785 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherManagerJaxrsFilter.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherManagerJaxrsFilter.java @@ -39,6 +39,8 @@ public abstract class CipherManagerJaxrsFilter extends TokenFilter { } else { chain.doFilter(request, response); } + } else { + options(request,response); } } catch (Exception e) { e.printStackTrace(); diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherManagerUserJaxrsFilter.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherManagerUserJaxrsFilter.java index 543628ee05..b1dee2cc3c 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherManagerUserJaxrsFilter.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/CipherManagerUserJaxrsFilter.java @@ -38,6 +38,8 @@ public abstract class CipherManagerUserJaxrsFilter extends TokenFilter { } else { chain.doFilter(request, response); } + } else { + options(request,response); } } catch (Exception e) { e.printStackTrace(); diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/ManagerUserJaxrsFilter.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/ManagerUserJaxrsFilter.java index 7b99af78ce..ac4ec8855d 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/ManagerUserJaxrsFilter.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/ManagerUserJaxrsFilter.java @@ -38,6 +38,8 @@ public abstract class ManagerUserJaxrsFilter extends TokenFilter { } else { chain.doFilter(request, response); } + } else { + options(request,response); } } catch (Exception e) { e.printStackTrace(); diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/TokenFilter.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/TokenFilter.java index 24222a7bb5..41231a99c1 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/TokenFilter.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/TokenFilter.java @@ -1,6 +1,12 @@ package com.x.base.core.project.jaxrs; import javax.servlet.Filter; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; public abstract class TokenFilter implements Filter { + + protected void options(HttpServletRequest request, HttpServletResponse response) { + response.setStatus(204); + } } diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/UserJaxrsFilter.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/UserJaxrsFilter.java index 525e58315c..5670082fbd 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/UserJaxrsFilter.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/UserJaxrsFilter.java @@ -38,6 +38,8 @@ public abstract class UserJaxrsFilter extends TokenFilter { } else { chain.doFilter(request, response); } + } else { + options(request,response); } } catch (Exception e) { e.printStackTrace(); -- GitLab