springboot系列22: SpringSecurity多用戶驗證


        上一篇我們介紹了SpringSecurity的概念和手把手搭建跑了起來,同時介紹了如何開啟驗證和修改配置它的初始默認登錄用戶名和密碼。若有小伙伴們還不知道,請查閱公眾號上一篇文章的內容^^。

          今天我們解決下如何配置多用戶的驗證登錄,上一篇我們只是通過配置文件只能修改一個默認的帳號,那若想要添加多個用戶如何解決呢?只要繼承WebSecurityConfigurerAdapter 實現configure方法。

 

 

 

/**
 * @version 1.0
 * @description: 配置多用戶驗證
 * @date 2020-09-17 23:33
 */
@Configuration
@EnableWebSecurity //開啟security
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder(); //密碼加密
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        /*
         * 這里配置了兩個用戶 admin和user
         */
        auth.inMemoryAuthentication()
                .withUser("admin")
                .password(passwordEncoder().encode("123456"))
                .roles();

        auth.inMemoryAuthentication()
                .withUser("user")
                .password(passwordEncoder().encode("123456"))
                .roles();
    }

}

 

看了代碼是不是很簡單,我相信小伙伴們都已經學會了^^。

 

當然我們還可以用配置文件方式來配置,看我下面一頓神操作。

# application.properties
security.user3.name = admin1
security.user3.password = 1234567

 

定義bean接收配置的文件

/**
 * @version 1.0
 * @description: 獲取配置文件數據
 * @date 2020-09-17 23:45
 */

@Component
@ConfigurationProperties(prefix = "security.user3")
public class SecurityUser {

    private String name;
    private String password;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

 

在 WebSecurityConfig   添加新用戶信息:

auth.inMemoryAuthentication()
                .withUser(securityUser.getName())
                .password(passwordEncoder().encode(securityUser.getPassword()))
                .roles();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM