修复关闭接口鉴权时,处于忽略地址中的接口不可用的问题
| | |
| | | return; |
| | | } |
| | | if (!userSetting.isInterfaceAuthentication()) { |
| | | // 构建UsernamePasswordAuthenticationToken,这里密码为null,是因为提供了正确的JWT,实现自动登录 |
| | | UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(null, null, new ArrayList<>() ); |
| | | SecurityContextHolder.getContext().setAuthentication(token); |
| | | chain.doFilter(request, response); |
| | |
| | | **/ |
| | | @Override |
| | | public void configure(WebSecurity web) { |
| | | |
| | | if (userSetting.isInterfaceAuthentication()) { |
| | | ArrayList<String> matchers = new ArrayList<>(); |
| | | matchers.add("/"); |
| | | matchers.add("/#/**"); |
| | |
| | | matchers.add("/v3/api-docs/**"); |
| | | matchers.add("/js/**"); |
| | | matchers.add("/api/device/query/snap/**"); |
| | | matchers.add("/record_proxy/*/**"); |
| | | matchers.addAll(userSetting.getInterfaceAuthenticationExcludes()); |
| | | // 可以直接访问的静态数据 |
| | | web.ignoring().antMatchers(matchers.toArray(new String[0])); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 配置认证方式 |