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

    自定义密码的加密方式,实例如下
  • 相关阅读:
    apache重写规则自动追加查询参数QSA
    错误代码2104:无法下载Silverlight应用程序。请查看Web服务器设置
    eclipse的shell相关插件
    二叉树及排序二叉树的相关操作汇总
    约瑟夫环
    c++ 输入一行字符串
    类对象做函数参数(传值和传引用)
    运算符重载(=和+)
    char型字符串(数组)与string型字符串 指针与引用
    一维和二维数组 动态内存分配
  • 原文地址:https://www.cnblogs.com/jpfss/p/11022057.html
Copyright © 2011-2022 走看看