spring security自定義指南


本文主要研究一下幾種自定義spring security的方式

主要方式

  • 自定義UserDetailsService
  • 自定義passwordEncoder
  • 自定義filter
  • 自定義AuthenticationProvider
  • 自定義AccessDecisionManager
  • 自定義securityMetadataSource
  • 自定義access訪問控制
  • 自定義authenticationEntryPoint
  • 自定義多個WebSecurityConfigurerAdapter

自定義UserDetailsService

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    //......
    @Bean
    @Override
    protected UserDetailsService userDetailsService(){
        InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
        manager.createUser(User.withUsername("demoUser1").password("123456")
                .authorities("ROLE_USER","read_x").build());
        manager.createUser(User.withUsername("admin").password("123456")
                .authorities("ROLE_ADMIN").build());
        return manager;
    }
}
通過重寫userDetailsService()方法自定義userDetailsService。這里展示的是InMemoryUserDetailsManager。
spring security內置了JdbcUserDetailsManager,可以自行擴展

自定義passwordEncoder

自定義密碼的加密方式,實例如下


免責聲明!

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



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