spring security 参考

芋道 Spring Boot 安全框架 Spring Security 入门 | 芋道源码 —— 纯源码解析博客

按照该文章学习,不过依赖有点过时,现在已经是springboot 3.54, spring security 6.5.2。自己按照官方文档修改,发上来存个档:



    
    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception{
        http
            // 禁止 csrf
            .csrf(csrf->csrf.disable())
            // 登录失败处理
            .exceptionHandling((exceptionHandling)->exceptionHandling
                                                        .accessDeniedHandler(unauthorizedHandler)
                                                        
                                                        )
            // 设置为不需要 session
            .sessionManagement((sessionManagement)-> sessionManagement.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
            .authorizeHttpRequests(
                    // 对不同的路径实行不同的策略,之前类似于 /**/*.html 格式的要修改成 /*/*.html 不然会出错
                    (authorizeHttpRequests)->authorizeHttpRequests
                                                .requestMatchers("/login","/captchaImage").anonymous()
                                                .requestMatchers(HttpMethod.GET,"/*.html","/*/*.html","/*/*.css","/*/*.js").permitAll()
                                                //.requestMatchers("/test").permitAll()
                                                .requestMatchers("/profile/*").anonymous()
                                                .requestMatchers("/common/download*").anonymous()
                                                .requestMatchers("/swagger-ui.html").anonymous()
                                                .requestMatchers("/swagger-resources/*").anonymous()
                                                .requestMatchers("/webjars/*").anonymous()
                                                .requestMatchers("/*/api-docs").anonymous()
                                                .requestMatchers("/druid/*").anonymous()
                                                .anyRequest().authenticated()
                                                
                    )
            // 每个请求头部进行定制
            .headers((headers)-> headers
                                    .frameOptions((frameOptions)-> frameOptions.disable()))
            // 指定退出的路径和成功退出后的处理类
            .logout((logout)-> logout
                                .logoutUrl("/logout")
                                .logoutSuccessHandler(logoutSuccessHandler))
            ;
        return http.build();

    }

欢迎评论,大家探讨学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值