亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring Security 的 permitAll 不適用于某些端點

Spring Security 的 permitAll 不適用于某些端點

楊__羊羊 2021-10-27 10:53:48
我有@Configuration@EnableWebSecuritypublic class WebSecurityConfig extends WebSecurityConfigurerAdapter {    @Override    protected void configure(final HttpSecurity http) throws Exception {        http            .csrf().disable()            .authorizeRequests()                .antMatchers(HttpMethod.POST, "/api/v1/account/import").permitAll()                .anyRequest().authenticated()                .and()            .addFilterBefore(new JWTAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);    }我希望所有用戶都可以在/api/v1/account/import沒有任何 JWT 令牌檢查的情況下訪問。對于所有其他端點,我希望在 class 中進行 JWT 令牌檢查JWTAuthenticationFilter。我嘗試了許多不同的場景,但都失敗了。我總是得到JWTAuthenticationFilter。JWTAuthenticationFilter如果我去,我不想去/api/v1/account/import。我的控制器:@RestController@RequestMapping(value = "/api/v1/account")public class AccountController {    private final AccountService accountService;    public AccountController(final AccountService accountService) {        this.accountService = accountService;    }    @PostMapping(path = "/import")    @ResponseStatus(HttpStatus.ACCEPTED)    public String importAccount(@Valid @RequestBody final ImportAccountDto importAccountDto) {        return this.accountService.importAccount(importAccountDto);    }我的 JWT 過濾器:public class JWTAuthenticationFilter extends GenericFilterBean {    @Override    public void doFilter(final ServletRequest req, final ServletResponse res, final FilterChain filterChain) throws IOException, ServletException {        final HttpServletRequest request = (HttpServletRequest) req;        final HttpServletResponse response = (HttpServletResponse) res;        final String token = request.getHeader("Authorization");        final JJWTService jjwtService = new JJWTService();        if (token == null || !jjwtService.parseJWTToken(token)) {            response.sendError(HttpServletResponse.SC_UNAUTHORIZED);        } else {            filterChain.doFilter(req, res);        }    }
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號