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 912. 排序数组
    leetcode 633. 平方数之和
    leetcode 1512. 好数对的数目
    leetcode 1822. 数组元素积的符号
    leetcode 145. 二叉树的后序遍历
    leetcode 11. 盛最多水的容器
    leetcode 28 实现strStr()
    leetcode 27. 移除元素
    leetcode 26. 删除有序数组中的重复项
    产品化思维之公式系统
  • 原文地址:https://www.cnblogs.com/jpfss/p/11022057.html
Copyright © 2011-2022 走看看