zoukankan      html  css  js  c++  java
  • SpringSecurity

    1.继承extends WebSecurityConfigurerAdapter

    ①重写方法:

    @Override
    protected void configure(HttpSecurity http) throws Exception

    ②密码加密

    @Bean
    public PasswordEncoder passwordEncoder(){
    return new BCryptPasswordEncoder();
    }
    ③:使用记住我
    @Autowired
    PersistentTokenRepository tokenRepository;

    @Bean
    public PersistentTokenBasedRememberMeServices getPersistentTokenBasedRememberMeServices() {
    		PersistentTokenBasedRememberMeServices tokenBasedservice = new PersistentTokenBasedRememberMeServices(
    				"remember-me", userDetailsService, tokenRepository);
    		return tokenBasedservice;
    	}
    替换记住我第二种方案,使用JdbcTokenRepositoryImpl:
    @Bean
    public PersistentTokenRepository persistentTokenRepository() {
    		JdbcTokenRepositoryImpl tokenRepositoryImpl = new JdbcTokenRepositoryImpl();
    		tokenRepositoryImpl.setDataSource(dataSource);
    		return tokenRepositoryImpl;
    	}


    ④:存储凭据在数据库中,所以要在UserDetailsService中配置DaoAuthenticationProvider来处理
    //创建一个类实现此方法
    @Autowired @Qualifier("customUserDetailsService") UserDetailsService userDetailsService;
    @Bean
    public DaoAuthenticationProvider authenticationProvider() {
    		DaoAuthenticationProvider authenticationProvider = new DaoAuthenticationProvider();
    		authenticationProvider.setUserDetailsService(userDetailsService);
    		authenticationProvider.setPasswordEncoder(passwordEncoder());
    		return authenticationProvider;
    	}


    2.初始化类注册 springSecurityFilter,穿件一个类继承extends AbstractSecurityWebApplicationInitializer:
    public class SecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
    
    }

    3.配置springmvc:
    @Configuration

    @EnableWebMvc
    @ComponentScan(basePackages = "com.yiibai.springmvc")
    public class AppConfig extends WebMvcConfigurerAdapter{

    重写此方法:

    @Override
    public void configureViewResolvers(ViewResolverRegistry registry) 

    4.spring初始化器类:

    public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
    
    	@Override
    	protected Class<?>[] getRootConfigClasses() {
    		return new Class[] { AppConfig.class };
    	}
     
    	@Override
    	protected Class<?>[] getServletConfigClasses() {
    		return null;
    	}
     
    	@Override
    	protected String[] getServletMappings() {
    		return new String[] { "/" };
    	}
    
    }




  • 相关阅读:
    鼠标滑过图片显示放大镜效果
    如何点击iframe跳转以及允许点击全屏展示
    百度echarts饼图百分比的计算规则---最大余额法
    移动端点击出现蓝色背景框&pc端覆盖chrome浏览器input本身的背景颜色
    未解决 --- gorde-map移动端 样式为圆角移动过程中不生效
    Vue -- 数据更新echarts表格不更新问题
    Vue -- table多表头,在表头中添加按钮
    responsive --- a:hover伪类在ios移动端浏览器内无效的解决方法
    编辑器 --- Visual Studio Code mac window 常用快捷键
    mysql 知识整理
  • 原文地址:https://www.cnblogs.com/shanshen/p/8835271.html
Copyright © 2011-2022 走看看