在使用SpringSecurity的时候,有时候遇到一个比较难排查的问题,可以开启日志调试,这样比如容易排查问题。 默认情况下,SpringSecirity的日志比较少,一些debug的日志不会出现,所以需要开启debug日志。 如果是xml配置,可以尝试增加如下设置: <logger name="org.springframework.security" level="DEBUG" /> 如果是SpringBoot应用程序,可以在application.properties增加如下: logging.…

2022-11-24 0条评论 1052点热度 0人点赞 admin 阅读全文

使用SpingBoot+SpringSecurity的项目中,默认的登录处理url是,现在因为项目的部署的要求,需求修改成类似这样的二级目录: 一般来说,这样的需求是在SpringSecurity的一个Config类里面配置的: @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true,securedEnabled = true) public class WebSecurityConfig extends…

2022-11-18 0条评论 584点热度 0人点赞 admin 阅读全文

有一个JavaWeb-SpringMVC的项目(还用到了SpringSecurity),也需要接入Knife4j文档,按照官方的示例(最后的更新日期还是几年前的),并没有成功,结合自己摸索和实践,成功集成好了,故写出来详细的步骤,供参考。 pom.xml增加如下依赖(我这里的情况是需要加载jackson的相关的3个依赖包,看实际情况): <!-- knife4j-spring-mvc --> <dependency> <groupId>com.github.xiaoymin<…

2022-11-03 0条评论 871点热度 0人点赞 admin 阅读全文

在用SpringSecurity做登录权限控制的时候,例如后台做代用户登录功能的时候,需要以指定某个用户登录账号。这里是以session作为登录状态管控的。 // 根据自己的业务获得登录用户的账号 Account account = systemDao.getAccountByNo(loginNo); // 组装出token UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken( account, nu…

2022-08-22 0条评论 577点热度 0人点赞 admin 阅读全文

前不久Spring Boot 2.7.0 刚刚发布,Spring Security 也升级到了5.7.1 。升级后发现,原来一直在用的Spring Security配置方法,居然已经被弃用了。不禁感慨技术更新真快,用着用着就被弃用了!今天带大家体验下Spring Security的最新用法,看看是不是够优雅! 在Spring Boot 2.7.0 之前的版本中,我们需要写个配置类继承WebSecurityConfigurerAdapter ,然后重写Adapter中的三个方法进行配置; /** * SpringSe…

2022-06-05 0条评论 2133点热度 0人点赞 admin 阅读全文

如题,SpringBoot/SpringCloud/SprintSecurity下集成swagger打开 http://loclahost:port/swagger-ui.html弹框提示如下错误: Unable to infer base url. This is common when using dynamic servlet registration or when the API is behind an API Gateway. SpringSecurity需要增加swagger-ui相关url规则放行…

2022-03-29 0条评论 922点热度 0人点赞 admin 阅读全文

本篇介绍如下在SpringBoot下使用SpringSecurity实现记住我(就是下次自动登录功能),以MySQL为例(数据库结构都一样,其他数据库稍加修改) CREATE TABLE `t_persistent_logins` ( `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, `series` varchar(255) CHARACTER SET utf8mb4 COLLATE utf…

2021-07-10 1条评论 844点热度 0人点赞 admin 阅读全文

本篇介绍如何在SpringBoot下整合SpringSecurity,使用用户角色模块权限模型,自定义处理登录、密码校验,取权限控制,实现用户-模块-角色的权限模型,并基于URL拦截(自行控制AccessDecisionManager,匹配用户所属的角色和请求资源所属的角色,FilterInvocationSecurityMetadataSource,实现请求资源对应的角色) 因为很多地方环节,能实现自定义了,就能整理把握,实现随意的控制和增加自己的业务逻辑。 这里使用的是RBAC(Role-Based Acces…

2021-07-09 0条评论 1141点热度 0人点赞 admin 阅读全文

使用SpringSecurity默认的登录是没有验证码的,但是如果没有验证码,被暴力破解还是挺危险的,所以很有必要为SpringSecurity加一层验证码保护。 可以通过给SpringSecurity加一个前置过滤器,来校验验证码来实现。 配置文件如下SecurityConfiguration.java: 主要看方法里的: 其他的按需要复制 @EnableWebSecurity public class SecurityConfiguration extends WebSecurityConfigurerAdap…

2021-04-07 0条评论 1156点热度 0人点赞 admin 阅读全文

用 SpringSecurity 做项目的权限管理,功能还是挺强大的。 不过最近遇到一个 需求,就是登录的部分,Spring Security 是配置一个专门的登录页面(一般配置为 login 页面,login 页面调用 j_spring_security_check做 form submit,即表单提交),但是客户希望在其他某个页面(比如首页),也需要加登录的功能,而且使用 ajax 的restlet方式提交,这就索性需要开发一个自定义的登录退出功能(原来表单提交的方式不做改变),之前的表单还有自动登录(reme…

2021-02-07 0条评论 2118点热度 2人点赞 admin 阅读全文