随记:springboot+spring-security
该文章为备忘个人用packagecom.szq.le.config;importjava.util.ArrayList;importjava.util.Collection;importjava.util.List;importorg.mybatis.spring.annotation.MapperScan;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.boot.web.servlet.ServletComponentScan;importorg.springframework.boot.web.servlet.support.SpringBootServletInitializer;importorg.springframework.context.annotation.Bean;importorg.springframework.security.config.annotation.web.builders.HttpSecurity;importorg.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;importorg.springframework.security.core.GrantedAuthority;importorg.springframework.security.core.userdetails.UserDetails;importorg.springframework.security.core.userdetails.UserDetailsService;importorg.springframework.security.core.userdetails.UsernameNotFoundException;importorg.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;importorg.springframework.web.servlet.config.annotation.CorsRegistry;importorg.springframework.web.servlet.config.annotation.WebMvcConfigurer;SpringBootApplication(scanBasePackages{com.szq.le.controller,com.szq.le.service.impl,com.szq.le.springcomponent})ServletComponentScanMapperScan(com.szq.le.dao)publicclassAppConfigextendsSpringBootServletInitializerimplementsWebMvcConfigurer{BeanprotectedWebSecurityConfigurerAdaptergetWebSecurityConfigurerAdapter(){returnnewWebSecurityConfigurerAdapter(){Overrideprotectedvoidconfigure(HttpSecurity http)throwsException{http.csrf().disable().cors().and().formLogin();http.authorizeRequests().antMatchers(/api/fulladm/**).access(hasAnyRole({admin,user}) and isFullyAuthenticated());http.authorizeRequests().antMatchers(/api/adm/**).access(hasAnyRole({admin,user,abc}) and isFullyAuthenticated());http.authorizeRequests().antMatchers(/api/fullauth/**).fullyAuthenticated();http.authorizeRequests().antMatchers(/api/auth/**).authenticated();http.authorizeRequests().antMatchers(/**).permitAll();//重要这里是CAS认证的配置入口http.exceptionHandling().authenticationEntryPoint(null);}};}BeanprotectedBCryptPasswordEncodergetBCryptPasswordEncoder(){returnnewBCryptPasswordEncoder();}BeanprotectedUserDetailsServicegetUserDetailsService(BCryptPasswordEncoder getBCryptPasswordEncoder){returnnewUserDetailsService(){OverridepublicUserDetailsloadUserByUsername(String username)throwsUsernameNotFoundException{returnnewUserDetails(){privatestaticfinallongserialVersionUID1L;OverridepublicbooleanisEnabled(){returntrue;}OverridepublicbooleanisCredentialsNonExpired(){returntrue;}OverridepublicbooleanisAccountNonLocked(){returntrue;}OverridepublicbooleanisAccountNonExpired(){returntrue;}OverridepublicStringgetUsername(){returnadmin;}OverridepublicStringgetPassword(){String sgetBCryptPasswordEncoder.encode(passw0rd);System.out.println(s);returns;}OverridepublicCollection?extendsGrantedAuthoritygetAuthorities(){ListGrantedAuthoritylistnewArrayList();list.add(newGrantedAuthority(){privatestaticfinallongserialVersionUID1L;OverridepublicStringgetAuthority(){returnROLE_abc;}});returnlist;}};}};}OverridepublicvoidaddCorsMappings(CorsRegistry registry){registry.addMapping(/**).allowedOrigins(*);}}有几个点需要注意.formLogin()后面有各种方法各种handler可以实现各种各样的扩展。自定义返回成功后的功能就在这里扩展。BCryptPasswordEncoder必须得配置一个还有其他几个encoder可以用一般情况下使用这个也就够了。UserDetailsService必须得配置一个这里是最主要的扩展点在这里可以自己实现各种各样的获取用户信息的功能不管是从数据库还是从缓存获取。通过自定义这个bean就不必使用spring-security自带的那个数据库获取用户信息的功能了。如果是使用cas之类的认证则**http.exceptionHandling().authenticationEntryPoint(null);**方法是配置认证入口的方法。原创不易转帖请注明出处 — ShiZhongqi

相关新闻

免费开源视频编辑器Avidemux2:跨平台剪辑解决方案完整指南

免费开源视频编辑器Avidemux2:跨平台剪辑解决方案完整指南

免费开源视频编辑器Avidemux2:跨平台剪辑解决方案完整指南 【免费下载链接】avidemux2 Avidemux2, simple video editor 项目地址: https://gitcode.com/gh_mirrors/avi/avidemux2 Avidemux2是一款功能强大的开源视频编辑器,为Linux、Windows和ma…

2026/7/28 18:59:20 阅读更多 →
终极OpenCore安装指南:5步打造稳定黑苹果系统

终极OpenCore安装指南:5步打造稳定黑苹果系统

终极OpenCore安装指南:5步打造稳定黑苹果系统 【免费下载链接】OpenCore-Install-Guide Repo for the OpenCore Install Guide 项目地址: https://gitcode.com/gh_mirrors/op/OpenCore-Install-Guide OpenCore是一款专业的macOS引导加载器,专为在…

2026/7/28 18:59:20 阅读更多 →
Claude Opus ARC-AGI-3突破:从记忆型到推理型AI的智能评估转向

Claude Opus ARC-AGI-3突破:从记忆型到推理型AI的智能评估转向

上周,当 Claude Opus 在 ARC-AGI-3 基准上达到新的 SOTA(State-of-the-Art)成绩时,我并没有感到意外。真正让我停下来思考的,是这条消息背后一个更根本的变化:我们可能正在见证通用人工智能评估方式的一次重…

2026/7/28 18:59:20 阅读更多 →

最新新闻

废掉一个网安新人最快的方式:不是懒,是“收藏式学习”

废掉一个网安新人最快的方式:不是懒,是“收藏式学习”

01 看似努力,实则原地踏步在网安圈子里,有一类新人进步最慢、迷茫最重、放弃率最高。他们不逃课、不摆烂、每天都在学习,最后却啥也学不会。他们有一个共同特征:疯狂收藏、疯狂囤课、疯狂保存资料,几乎从不实操。网盘几…

2026/7/28 19:11:24 阅读更多 →
CTF实战复盘:Web渗透、逆向工程与密码学攻防艺术

CTF实战复盘:Web渗透、逆向工程与密码学攻防艺术

1. 项目概述:一次CTF实战的深度复盘最近刚打完ZJUCTF2025,趁着记忆还热乎,想和大家聊聊这次比赛里遇到的一些有意思的题目。CTF(Capture The Flag)这东西,玩过的都知道,它从来不是单一技术的炫技…

2026/7/28 19:11:24 阅读更多 →
【Codeforces 1205C】Palindromic Paths(回文路径DP)

【Codeforces 1205C】Palindromic Paths(回文路径DP)

题目链接 对于格子(i,j)(i,j)(i,j),若ijijij为奇数则称为奇点,否则称为偶点。 首先发现询问距离为2的两个格子就可以知道它们是否值相同。已知(1,1)(1,1)(1,1)格子值为1,(n,n)(n,n)(n,n)格子值为0,一遍BFS可以求出所有偶点的值…

2026/7/28 19:11:24 阅读更多 →
Opus 5模型在Conductor平台的应用:性能接近Fable价格减半

Opus 5模型在Conductor平台的应用:性能接近Fable价格减半

最近在 AI 开发圈里,一个消息引起了不小的震动: Opus 5 模型正式登陆 Conductor 平台,性能接近 Fable 但价格直接减半 。这听起来像是营销噱头,但背后反映的是 AI 模型服务市场正在发生的实质性变化——不是简单的价格战&#x…

2026/7/28 19:11:24 阅读更多 →
MySQL Windows安装配置全攻略:从官方下载到安全部署

MySQL Windows安装配置全攻略:从官方下载到安全部署

你是不是也遇到过这样的场景:刚入职新公司,领导让你快速搭建一个本地开发环境,结果在MySQL安装这一步就卡住了?或者自己学习后端开发,被各种“一键安装”教程搞得晕头转向,最后连服务都启动不了? 网上关于MySQL安装的教程铺天盖地,但真正能让你“一次成功”的却不多。…

2026/7/28 19:11:24 阅读更多 →
2026年人工智能与智慧城市国际学术会议(IC-AISC 2026)

2026年人工智能与智慧城市国际学术会议(IC-AISC 2026)

2026 年人工智能与智慧城市国际学术会议(IC-AISC 2026)将于 2026 年 8 月 28-30 日在上海举办。在数字技术深度渗透的今天,人工智能的飞速迭代与智慧城市的加速建设正引发城市发展模式的根本性变革。二者的深度融合在推动城市治理效能提升、服…

2026/7/28 19:10:24 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻