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

    自定义密码的加密方式,实例如下
  • 相关阅读:
    [School Regional Team Contest, Saratov, 2011]
    [Codeforces Round #125 (Div. 2)] B. Special Olympics(圆的关系问题)
    2020ICPC·小米 网络选拔赛第一场 G-Tree Projection (构造)
    [Codeforces Round #679 (Div. 2)] D. Shurikens (思维,树状数组)
    [Codeforces Round #677 (Div. 3)] G. Reducing Delivery Cost (dijkstra,枚举)
    [Codeforces Round #677 (Div. 3)] F. Zero Remainder Sum (DP)
    cogs 2652. 秘术「天文密葬法」(0/1分数规划 长链剖分 二分答案 dp
    cogs 1377. [NOI2011] NOI嘉年华 (dp
    cogs 1199选课(树形dp 背包或多叉转二叉
    Minimum spanning tree for each edge(倍增LCA)
  • 原文地址:https://www.cnblogs.com/jpfss/p/11022057.html
Copyright © 2011-2022 走看看