feat(auth): 新增用户ID上下文过滤器及登出逻辑优化
- 新增 GlobalConstants 常量类定义 USER_ID 常量 - 新增 HeaderUserId2ContextFilter 过滤器从请求头获取用户 ID 并存入 ThreadLocal - 新增 LoginUserContextHolder 工具类用于管理用户 ID 的 ThreadLocal 操作 -优化 UserController 的 logout 方法,移除手动传参 userId,改为从上下文获取 - 优化 UserServiceImpl 的 logout 方法实现,通过上下文获取用户 ID 完成登出 - 在 han-note-gateway 模块中添加 tomcat-embed-core依赖以支持相关功能
This commit is contained in:
@@ -19,5 +19,5 @@ public interface UserService extends IService<UserDO> {
|
||||
* 退出登录
|
||||
* @return 响应结果
|
||||
*/
|
||||
Response<?> logout(Long userId);
|
||||
Response<?> logout();
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@ import com.hanserwei.hannote.auth.domain.mapper.UserDOMapper;
|
||||
import com.hanserwei.hannote.auth.domain.mapper.UserRoleDOMapper;
|
||||
import com.hanserwei.hannote.auth.enums.LoginTypeEnum;
|
||||
import com.hanserwei.hannote.auth.enums.ResponseCodeEnum;
|
||||
import com.hanserwei.hannote.auth.filter.LoginUserContextHolder;
|
||||
import com.hanserwei.hannote.auth.model.vo.user.UserLoginReqVO;
|
||||
import com.hanserwei.hannote.auth.service.UserService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -144,7 +145,8 @@ public class UserServiceImpl extends ServiceImpl<UserDOMapper, UserDO> implement
|
||||
}
|
||||
|
||||
@Override
|
||||
public Response<?> logout(Long userId) {
|
||||
public Response<?> logout() {
|
||||
Long userId = LoginUserContextHolder.getUserId();
|
||||
StpUtil.logout(userId);
|
||||
return Response.success();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user