Security配置类

简介: 学习Security配置Demo1

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


目录
相关文章
|
存储 JSON fastjson
再也不用心惊胆战地使用FastJSON了——序列化篇
本篇将主要介绍json序列化的详细流程。本文阅读的FastJSON源码版本为2.0.31。
3844 49
|
移动开发 小程序 前端开发
H5和小程序有什么区别
H5和小程序有什么区别
690 0
|
JavaScript Shell 开发工具
如何优雅的复制当前项目分支名
前言 在工作中,协作场景下,避免不了要告诉同事你当前的开发分支,通常情况下需要2步 Step1 查看当前分支
|
JSON 数据格式
hutool使用
hutool使用
|
3天前
|
弹性计算 运维 搜索推荐
三翼鸟携手阿里云ECS g9i:智慧家庭场景的效能革命与未来生活新范式
三翼鸟是海尔智家旗下全球首个智慧家庭场景品牌,致力于提供覆盖衣、食、住、娱的一站式全场景解决方案。截至2025年,服务近1亿家庭,连接设备超5000万台。面对高并发、低延迟与稳定性挑战,全面升级为阿里云ECS g9i实例,实现连接能力提升40%、故障率下降90%、响应速度提升至120ms以内,成本降低20%,推动智慧家庭体验全面跃迁。
|
4天前
|
数据采集 人工智能 自然语言处理
3分钟采集134篇AI文章!深度解析如何通过云无影AgentBay实现25倍并发 + LlamaIndex智能推荐
结合阿里云无影 AgentBay 云端并发采集与 LlamaIndex 智能分析,3分钟高效抓取134篇 AI Agent 文章,实现 AI 推荐、智能问答与知识沉淀,打造从数据获取到价值提炼的完整闭环。
372 91
|
5天前
|
SQL 人工智能 自然语言处理
Geo优化SOP标准化:于磊老师的“人性化Geo”体系如何助力企业获客提效46%
随着生成式AI的普及,Geo优化(Generative Engine Optimization)已成为企业获客的新战场。然而,缺乏标准化流程(Geo优化sop)导致优化效果参差不齐。本文将深入探讨Geo专家于磊老师提出的“人性化Geo”优化体系,并展示Geo优化sop标准化如何帮助企业实现获客效率提升46%的惊人效果,为企业在AI时代构建稳定的流量护城河。
385 156
Geo优化SOP标准化:于磊老师的“人性化Geo”体系如何助力企业获客提效46%