MCPcopy Create free account
hub / github.com/Easesgr/reggie / doFilter

Method doFilter

src/main/java/com/anyi/reggie/filter/UserFilter.java:29–64  ·  view source on GitHub ↗
(ServletRequest request, ServletResponse response, FilterChain chain)

Source from the content-addressed store, hash-verified

27 public static final AntPathMatcher PATH_MATCHER = new AntPathMatcher();
28
29 @Override
30 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
31 HttpServletRequest servletRequest = (HttpServletRequest) request;
32 HttpServletResponse servletResponse = (HttpServletResponse) response;
33
34 log.info(servletRequest.getRequestURI());
35 // 设置不要拦截的请求
36 String[] urls = new String[]{
37 "/employee/login",
38 "/employee/layout",
39 "/backend/**",
40 "/front/**",
41 "/swagger-ui.html",
42 "/user/code",
43 "/user/login"
44 };
45 if (match(servletRequest.getRequestURI(),urls)){
46 chain.doFilter(servletRequest,servletResponse);
47 return;
48 }
49 // 需要验证的请求
50 User user = (User)servletRequest.getSession().getAttribute("user");
51 Employee employee = (Employee)servletRequest.getSession().getAttribute("employee");
52
53 // 需要验证的请求
54 if (user != null){
55 UserContext.setUserId(user.getId());
56 chain.doFilter(servletRequest,servletResponse);
57 }else if (employee !=null){
58 UserContext.setUserId(employee.getId());
59 chain.doFilter(servletRequest,servletResponse);
60 }else {
61 response.getWriter().write(JSONUtil.toJsonStr(R.error("NOTLOGIN")));
62
63 }
64 }
65
66 // 匹配url
67 public boolean match(String url,String[] urls){

Callers

nothing calls this directly

Calls 3

matchMethod · 0.95
setUserIdMethod · 0.95
errorMethod · 0.95

Tested by

no test coverage detected