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();
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DataPulse-辉常努腻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值