Class RedisSecurityAuthenticateUserService
java.lang.Object
com.codeupsoft.component.security.service.impl.RedisSecurityAuthenticateUserService
- All Implemented Interfaces:
SecurityAuthenticateUserService
public class RedisSecurityAuthenticateUserService
extends Object
implements SecurityAuthenticateUserService
基于Redis的安全认证用户服务实现类.
提供基于Redis的用户认证功能,包括用户信息缓存、令牌生成与验证、 用户登出等操作.使用JWT令牌结合Redis存储用户信息, 实现高效的用户认证和会话管理.
- Author:
- Liu,Dongdong
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateToken(LoginUser loginUser) 创建JWT访问令牌.getLoginUser(jakarta.servlet.http.HttpServletRequest request) 从HTTP请求中获取当前登录用户信息.voidlogout(jakarta.servlet.http.HttpServletRequest request) 登出当前用户.voidverifyUser(LoginUser loginUser) 验证并刷新用户令牌.
-
Constructor Details
-
RedisSecurityAuthenticateUserService
public RedisSecurityAuthenticateUserService()
-
-
Method Details
-
getLoginUser
从HTTP请求中获取当前登录用户信息.解析请求头中的JWT令牌,验证令牌有效性后从Redis中获取用户信息. 如果令牌无效或用户信息不存在,则返回null.
- Specified by:
getLoginUserin interfaceSecurityAuthenticateUserService- Parameters:
request- HTTP请求对象- Returns:
- 登录用户信息,如果未登录或令牌无效则返回 null
-
logout
public void logout(jakarta.servlet.http.HttpServletRequest request) 登出当前用户.从请求中解析JWT令牌,删除Redis中对应的用户信息, 实现用户登出功能.
- Specified by:
logoutin interfaceSecurityAuthenticateUserService- Parameters:
request- HTTP请求对象
-
verifyUser
验证并刷新用户令牌.检查用户令牌是否即将过期,如果需要则刷新令牌有效期. 当令牌剩余有效期小于配置的刷新范围时,更新Redis中用户信息的过期时间.
- Specified by:
verifyUserin interfaceSecurityAuthenticateUserService- Parameters:
loginUser- 登录用户信息
-
createToken
创建JWT访问令牌.根据登录用户信息生成JWT访问令牌,并将用户信息缓存到Redis中. 设置令牌有效期与Redis缓存有效期一致.
- Specified by:
createTokenin interfaceSecurityAuthenticateUserService- Parameters:
loginUser- 登录用户信息- Returns:
- 生成的JWT访问令牌
-