Security配置类

Posted 辉常努腻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Security配置类相关的知识,希望对你有一定的参考价值。

学习Security配置Demo1

@Configuration
@EnableWebSecurity      //继承WebSecurityConfigurerAdapter 实现自定义认证用户身份信息
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class MyWebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private UserDetailsService userDetailsService;

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        //表单提交
        http.formLogin()
                //登陆界面
                .loginPage("/login.html")
                //登录处理的请求
                .loginProcessingUrl("/login")
                //登录成功之后跳转的页面,post请求
//                .successForwardUrl("/toMain")
                .successHandler(new MyAuthenticationSuccessHandler("/main.html"))
                //登陆失败之后跳转的页面,post请求
                .failureForwardUrl("/toError");

        //授权
        http.authorizeRequests()
                //放行 error.html,不需要认证
                .antMatchers("/error.html").permitAll()
                //放行 login.html,不需要认证
                .antMatchers("/login.html").permitAll()
                //放行静态资源
                .antMatchers("/css/**","/js/**","/images/**").permitAll()
                //放行后缀.png,正则表达式
                .regexMatchers("[.]png").permitAll()
                //指定放行的请求方法
                .regexMatchers(HttpMethod.POST,"[.]png").permitAll()
                //所有请求都必须认证才能访问,必须登录
                .anyRequest()
                //认证
                .authenticated()
                .and()
                //关闭csrf防护
                .csrf().disable();

    }

    @Override
    //验证管理
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService).passwordEncoder(new BCryptPasswordEncoder());
    }

    public PasswordEncoder getPw()
    {
        return new BCryptPasswordEncoder();
    }


}

以上是关于Security配置类的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security:无法让真正的用户使用显示过期的 SessionRegistry 登录

spring-security 登录 无法进入UserDetailsService类

spring security oauth2 jwt 认证和资源分离的配置文件(java类配置版)

Security配置类

Spring security用户认证(设置用户名密码)

Security重写权限服务配置类