Spring Boot: How to specify the PasswordEncoder?

前端 未结 15 1134
醉梦人生
醉梦人生 2020-12-02 06:27

Currently I got the main class:

package com.recweb.springboot;

import org.springframework.boot.SpringApplication;
im         


        
15条回答
  •  粉色の甜心
    2020-12-02 07:00

    You can use this, but be advised that User.withDefaultPasswordEncoder() is deprecated:

    @Bean
    @Override
    public UserDetailsService userDetailsService() {
    
        PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
    
        final User.UserBuilder userBuilder = User.builder().passwordEncoder(encoder::encode);
        UserDetails user = userBuilder
                .username("user")
                .password("password")
                .roles("USER")
                .build();
    
        UserDetails admin = userBuilder
                .username("admin")
                .password("password")
                .roles("USER","ADMIN")
                .build();
    
        return new InMemoryUserDetailsManager(user, admin);
    }
    

提交回复
热议问题