zoukankan      html  css  js  c++  java
  • 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

    自定义密码的加密方式,实例如下
  • 相关阅读:
    第十一周总结
    代码大全第二版-阅读笔记03
    第十周总结
    第十四周总结
    第十三周总结
    图书管理系统
    《软件需求模式》阅读笔记(三)
    第十二周总结
    语义分析
    第十一周总结
  • 原文地址:https://www.cnblogs.com/jpfss/p/11022057.html
Copyright © 2011-2022 走看看