java - Spring Boot Security 未将登录端点列入白名单

标签 java spring-boot spring-security jwt

我一直在尝试启动一个示例 SpringBoot 应用程序并与 SpringBoot Security+JWT 一起运行,以帮助我处理安全情况。 (源代码可以在这里找到:https://github.com/vaddipar/groclist)

我已关注https://youtu.be/X80nJ5T7YpE?list=WL认真地指导并设置整个 SpringBoot Security 配置。

现在,我实现了一半的目标,即增加安全性,但我无法将登录和注册端点列入白名单。

下面给出了我的WebSecurityConfig。它具有将登录和注册端点列入白名单的配置,但它不起作用。有人可以看一下并告知这里出了什么问题吗?

@EnableWebSecurity
class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Autowired
    private UserDetailsService myUserDetailsService;
    @Autowired
    private JwtRequestFilter jwtRequestFilter;

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(myUserDetailsService);
    }

    @Bean
    public PasswordEncoder passwordEncoder() {
        return NoOpPasswordEncoder.getInstance();
    }

    @Override
    @Bean
    public AuthenticationManager authenticationManagerBean() throws Exception {
        return super.authenticationManagerBean();
    }

    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        httpSecurity.csrf().disable()
                .anonymous().and()
                .authorizeRequests().antMatchers("/login").permitAll().and()
                .authorizeRequests().antMatchers("/register").permitAll()
                .anyRequest().authenticated()
                .and()
                .exceptionHandling().and().sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS);
        httpSecurity.addFilterBefore(jwtRequestFilter, UsernamePasswordAuthenticationFilter.class);

    }

}

最佳答案

不要将登录与 spring security 一起用作端点。使用身份验证或登录代替,它应该可以正常工作。

关于java - Spring Boot Security 未将登录端点列入白名单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61194023/

相关文章:

java - 用于存储列标题/标签的 Oracle 元数据

java - @PostConstruct sleep 时不会触发 ContextClosedEvent

spring-boot - 没有 WebSecurityConfigurerAdapter 和两个 AuthenticationProvider 的 Spring Security

spring - 考虑在您的配置中定义一个类型为 'org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder' 的 bean

grails - Spring Security-Grails限制角色

java - 如何在 spring-boot 应用程序中每天滚动日志文件

java - 暂停执行 main 方法中的循环,直到所有线程完成 Java 1.5

Java 垃圾收集器以及它如何知道哪些对象需要从内存中释放

java - 如何使用 ZUUL 处理多个服务的 POST 请求

spring-boot - 找不到org.springframework.boot :spring-boot-starter-log4j