通常来说,Controller都会返回一个视图名称,Spring Boot会默认在main/resource/templates目录下找,因为该目录是安全的,意味着该目录下的内容是不允许外界直接访问的。有些情况下,Controller会返回客户端一个HTTP Redirect重定向请求,希望客户端按
现象描述 Spring Boot工程中使用@Async时,碰到循环依赖(circular reference)问题: Caused by: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creati
方案引入 跟踪Spring Security的登录逻辑发现,帐号密码的验证是在tokenGranter中完成的。帐号密码方式对应的是 org.springframework.security.oauth2.provider.password.ResourceOwnerPasswordTokenGra
在org.springframework.security.authentication.event包下定义了发生认证时的所有事件类型,其中AbstractAuthenticationEvent是所有事件的父类,其它事件都继承于AbstractAuthenticationEvent,其子类有 Ab
通常用户登录成功或者失败之后要做一些处理,比如日志记录、数据初始化等等;Spring中提供了事件及监听器,而Spring Security很好的运用了这一特点,框架中用了很多的事件来处理,要想很好的控制这些,先熟悉下源码,要知其所以然。 ProviderManager类分析 已经对该类进行过分析,
多AuthenticationProvider实现ProviderManager会按照加入认证请求链中的顺序来验证,前文的源码分析及实现原理已经说的很清楚了,本文直接看代码实现; AuthenticationProvider认证类UserSmsAuthenticationProvider实现 /*
AuthenticationManager类源码解析 public interface AuthenticationManager { Authentication authenticate(Authentication authentication) throws
Spring事件简介 Spring中的事件分为三部分:事件、监听器、事件源,其中事件是核心,涉及到ApplicationEventPublisher接口、ApplicationEvent类、ApplicationListener接口 定义用户登录失败事件 /** * @Description:
使用Security OAuth2的时候需要返回给前端用户的角色或者权限,框架提供了GrantedAuthority接口,有一个默认的实现SimpleGrantedAuthority,但是它只能返回简单 的字符串,如果我们想灵活的使用很难控制;所以我这边通过实现GrantedAuthority接口,
官方文档说明 地址:https://projects.spring.io/spring-security-oauth/docs/oauth2.html scope: The scope to which the client is limited. If scope is undefined or
搭建Spring Security OAuth2认证服务,经常会遇到在资源服务器中配置生效,但是在web安全配置类中配置就不生效等等类似的问题,深入研究了下原来是三个类在IOC容器之中加载的优先级问题所造成的,下面我们就一步一步来分析下三个类的优先级问题; @EnableAuthorizationS
OAuth2AccessToken接口的默认实现是DefaultOAuth2AccessToken类(自带过期时间属性) OAuth2RefreshToken接口的默认实现是DefaultOAuth2RefreshToken类(不带过期时间属性) ExpiringOAuth2RefreshToken
Spring Security OAuth2存储token值的方式 Spring Security OAuth2存储token值的方式有多种,所有的实现方式都是实现了TokenStore接口 InMemoryTokenStore:token存储在本机的内存之中 JdbcTokenStore:tok
Redis用户登出有两种方案,一种是通过资源服务器配置logoutSuccessHandler处理函数,并实现LogoutSuccessHandler接口来处理退出用户; 另外一种是自定义封装接口,通过RedisTokenStore来删除用户信息的形式; 通过资源服务器或认证服务器配置的方式 W
/oauth/token 端点 端点过滤器TokenEndpointAuthenticationFilter 端点对应的action类TokenEndpoint 受保护的资源信息类ResourceOwnerPasswordResourceDetails 和认证服务器交互资源信息类ResourceO