|
@@ -1,8 +1,23 @@
|
|
|
package com.x.bbs.assemble.control.jaxrs;
|
|
package com.x.bbs.assemble.control.jaxrs;
|
|
|
|
|
|
|
|
|
|
+import javax.servlet.FilterChain;
|
|
|
|
|
+import javax.servlet.ServletException;
|
|
|
|
|
+import javax.servlet.ServletRequest;
|
|
|
|
|
+import javax.servlet.ServletResponse;
|
|
|
import javax.servlet.annotation.WebFilter;
|
|
import javax.servlet.annotation.WebFilter;
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
|
|
|
|
+import com.x.base.core.project.config.Config;
|
|
|
|
|
+import com.x.base.core.project.http.EffectivePerson;
|
|
|
|
|
+import com.x.base.core.project.http.FilterTools;
|
|
|
|
|
+import com.x.base.core.project.http.HttpToken;
|
|
|
|
|
+import com.x.base.core.project.http.TokenType;
|
|
|
import com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter;
|
|
import com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter;
|
|
|
|
|
+import com.x.bbs.assemble.control.ThisApplication;
|
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
|
|
+
|
|
|
|
|
+import java.io.IOException;
|
|
|
|
|
|
|
|
@WebFilter(urlPatterns = {
|
|
@WebFilter(urlPatterns = {
|
|
|
"/jaxrs/image/encode/*",
|
|
"/jaxrs/image/encode/*",
|
|
@@ -11,4 +26,28 @@ import com.x.base.core.project.jaxrs.AnonymousCipherManagerUserJaxrsFilter;
|
|
|
"/jaxrs/uuid/*"
|
|
"/jaxrs/uuid/*"
|
|
|
}, asyncSupported = true)
|
|
}, asyncSupported = true)
|
|
|
public class BBSAnonyJaxrsFilter extends AnonymousCipherManagerUserJaxrsFilter {
|
|
public class BBSAnonyJaxrsFilter extends AnonymousCipherManagerUserJaxrsFilter {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
|
|
|
|
|
+ try {
|
|
|
|
|
+ HttpServletRequest request = (HttpServletRequest) req;
|
|
|
|
|
+ HttpServletResponse response = (HttpServletResponse) res;
|
|
|
|
|
+ FilterTools.allow(request, response);
|
|
|
|
|
+ if (!request.getMethod().equalsIgnoreCase("options")) {
|
|
|
|
|
+ HttpToken httpToken = new HttpToken();
|
|
|
|
|
+ EffectivePerson effectivePerson = httpToken.who(request, response, Config.token().getCipher());
|
|
|
|
|
+
|
|
|
|
|
+ if ( TokenType.anonymous.equals(effectivePerson.getTokenType()) &&
|
|
|
|
|
+ StringUtils.equalsAnyIgnoreCase( ThisApplication.CONFIG_BBS_ANONYMOUS_PERMISSION, "NO")) {
|
|
|
|
|
+ response.setStatus(500);
|
|
|
|
|
+ response.setHeader("Content-Type", "application/json;charset=UTF-8");
|
|
|
|
|
+ response.getWriter().write(FilterTools.Application_Not_ManagerUser_Json);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ chain.doFilter(request, response);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+ e.printStackTrace();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|