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

    自定义密码的加密方式,实例如下
  • 相关阅读:
    扫面线模板
    (动态规划、栈)leetcode 84. Largest Rectangle in Histogram, 85. Maximal Rectangle
    tmux 常见命令汇总
    leetcode 221
    leetcode 319 29
    (贪心)leetcode 392. Is Subsequence, 771. Jewels and Stones, 463. Island Perimeter
    leetcode 982 668
    Python import 同文件夹下的py文件的函数,pycharm报错
    Windows里Anaconda-Navigator无法打开的解决方案
    Windows下 gpu版 Tensorflow 安装
  • 原文地址:https://www.cnblogs.com/jpfss/p/11022057.html
Copyright © 2011-2022 走看看