
在 Spring Security 中,我就想从子线程获取用户登录信息,怎么办?
大家知道在 Spring Security 中想要获取登录用户信息,不能在子线程中获取,只能在当前线程中获取,其中一个重要的原因就是 SecurityContextHolder 默认将用户信息保存在 ThreadLocal 中。 但是实际上...
大家知道在 Spring Security 中想要获取登录用户信息,不能在子线程中获取,只能在当前线程中获取,其中一个重要的原因就是 SecurityContextHolder 默认将用户信息保存在 ThreadLocal 中。 但是实际上...
[TOC] 这个问题也是来自小伙伴的提问: 其实这个问题有好几位小伙伴问过我,但是这个需求比较冷门,我一直没写文章。 其实只要看懂了松哥前面的文章,这个需求是可以做出来的。因为一个核心点就是 ProviderManager,搞懂了这个,其他...
这是来自一个小伙伴的提问,我觉得很有必要和大家聊一聊这个问题: 首先这个问题本身是有点问题的,因为 http.authorizeRequests() 并非总是第一个,虽然大部分情况下,我们看到的是第一个,但是也有很多情况 http.auth...
Spring Security 系列还没搞完,最近还在研究。 有的时候我不禁想,如果从 Spring Security 诞生的第一天开始,我们就一直在追踪它,那么今天再去看它的源码一定很简单,因为我们了解到每一行代码的缘由。 然而事实上我们...
今天来和小伙伴们聊一聊 Spring Security 中的异常处理机制。 在 Spring Security 的过滤器链中,ExceptionTranslationFilter 过滤器专门用来处理异常,在 ExceptionTransla...
我们先来看一个简单的配置: @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .anyRequ...
按理说自己 new 出来的对象和容器是没有关系的,但是在 Spring Security 框架中也 new 了很多对象出来,一样也可以被容器管理,那么它是怎么做到的? 今天来和大家聊一个略微冷门的话题,Spring Security 中的 ...
关于密码加密的问题,松哥之前已经和大家聊过了,参考: Spring Boot 中密码加密的两种姿势! 这篇文章中,松哥给大家介绍了两种密码加密方案,但是两种都是独立使用的!能不能在同一个项目中同时存在多种密码加密方案呢?答案是肯定的! 今天...
Spring Security 中对于权限控制默认已经提供了很多了,但是,一个优秀的框架必须具备良好的扩展性,恰好,Spring Security 的扩展性就非常棒,我们既可以使用 Spring Security 提供的方式做授权,也可以自...
HttpBasic 认证有一定的局限性与安全隐患,因此在实际项目中使用并不多,但是,有的时候为了测试方便,开启 HttpBasic 认证能方便很多。 因此松哥今天还是来和大家简单聊一聊 Spring Security 中的 HttpBasi...