为什么我自己注册的没得加密!

来源:15-4 -前台实现、测试

慕UI8313479

2018-01-23

    private static final String KEY = "yangmd.com";

    @Autowired
    private UserDetailsService userDetailsService;

    @Autowired
    private PasswordEncoder passwordEncoder;

    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();   // 使用 BCrypt 加密
    }

    @Bean
    public AuthenticationProvider authenticationProvider() {
        DaoAuthenticationProvider authenticationProvider = new DaoAuthenticationProvider();
        authenticationProvider.setUserDetailsService(userDetailsService);
        authenticationProvider.setPasswordEncoder(passwordEncoder); // 设置密码加密方式
        return authenticationProvider;
    }

    /**
     * 自定义配置
     * @param
     * @param
     * @return
     */
    @Override
    protected void configure(HttpSecurity http) throws Exception {
//        http.headers().frameOptions().disable();
//        http.authorizeRequests()
//            .antMatchers("/css/**","js/**","fonts/**","index").permitAll() //这些都可以访问
//            .antMatchers("/users/**").hasRole("ADMIN") //需要对应角色才能访问
//            .and()
//            .formLogin()   //基于form表单登录验证
//            .loginPage("/login").failureUrl("/login-error"); //自定义登录界面

        http.headers().frameOptions().disable();
        http.authorizeRequests().antMatchers("/css/**", "/js/**", "/fonts/**", "/index").permitAll() // 都可以访问
                .antMatchers("/h2-console/**").permitAll() // 都可以访问
                .antMatchers("/admins/**").hasRole("ADMIN") // 需要相应的角色才能访问
                .and()
                .formLogin()   //基于 Form 表单登录验证
                .loginPage("/login").failureUrl("/login-error") // 自定义登录界面
                .and().rememberMe().key(KEY) // 启用 remember me
                .and().exceptionHandling().accessDeniedPage("/403");  // 处理异常,拒绝访问就重定向到 403 页面
        http.csrf().ignoringAntMatchers("/h2-console/**"); // 禁用 H2 控制台的 CSRF 防护
        http.headers().frameOptions().sameOrigin(); // 允许来自同一来源的H2 控制台的请求



    }

    /**
     * 认证信息管理
     * @param auth
     * @param
     * @return Exception
     */
    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth)throws Exception{
//        auth.inMemoryAuthentication()    //认证信息存储于内存中
//            .withUser("admin").password("111111").roles("ADMIN");  //先初始化了信息
        auth.userDetailsService(userDetailsService);
        auth.authenticationProvider(authenticationProvider());

    }

//img.mukewang.com/szimg/5a674bdb000182ec07150132.jpg

写回答

1回答

老卫

2018-01-23

那你启用了加密的配置没有呢 ?

SecurityConfig.java  看下这个配置是否配对了~

0
15
老卫
回复
慕UI8313479
是 Form 表单方式提交的吗?上页面代码我看下
2018-01-24
共15条回复

基于Spring Boot技术栈博客系统企业级前后端实战

毕设 Elasticsearch搜索+Thymeleaf模板+JPA+Security+BootStrap

1296 学习 · 738 问题

查看课程