From 553c29ab8a46c9a07e3657fdd36a81a6bfde1afe Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 23 九月 2021 19:13:58 +0800 Subject: [PATCH] update 整合 satoken 权限、鉴权一体化框架 --- ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java | 56 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 36 insertions(+), 20 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java index aec5776..1500975 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java @@ -1,19 +1,43 @@ package com.ruoyi.common.utils; -import org.springframework.security.core.Authentication; -import org.springframework.security.core.context.SecurityContextHolder; +import cn.dev33.satoken.stp.StpUtil; +import cn.hutool.http.HttpStatus; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.service.IUserService; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.spring.SpringUtils; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import com.ruoyi.common.constant.HttpStatus; -import com.ruoyi.common.core.domain.model.LoginUser; -import com.ruoyi.common.exception.CustomException; /** * 瀹夊叏鏈嶅姟宸ュ叿绫� - * + * * @author ruoyi */ public class SecurityUtils { + /** + * 鐢ㄦ埛ID + **/ + public static Long getUserId() + { + return StpUtil.getLoginIdAsLong(); + } + + /** + * 鑾峰彇閮ㄩ棬ID + **/ + public static Long getDeptId() + { + try + { + return getUser().getDeptId(); + } + catch (Exception e) + { + throw new ServiceException("鑾峰彇閮ㄩ棬ID寮傚父", HttpStatus.HTTP_UNAUTHORIZED); + } + } + /** * 鑾峰彇鐢ㄦ埛璐︽埛 **/ @@ -21,35 +45,27 @@ { try { - return getLoginUser().getUsername(); + return getUser().getUserName(); } catch (Exception e) { - throw new CustomException("鑾峰彇鐢ㄦ埛璐︽埛寮傚父", HttpStatus.UNAUTHORIZED); + throw new ServiceException("鑾峰彇鐢ㄦ埛璐︽埛寮傚父", HttpStatus.HTTP_UNAUTHORIZED); } } /** * 鑾峰彇鐢ㄦ埛 **/ - public static LoginUser getLoginUser() + public static SysUser getUser() { try { - return (LoginUser) getAuthentication().getPrincipal(); + return SpringUtils.getBean(IUserService.class).selectUserById(getUserId()); } catch (Exception e) { - throw new CustomException("鑾峰彇鐢ㄦ埛淇℃伅寮傚父", HttpStatus.UNAUTHORIZED); + throw new ServiceException("鑾峰彇鐢ㄦ埛淇℃伅寮傚父", HttpStatus.HTTP_UNAUTHORIZED); } - } - - /** - * 鑾峰彇Authentication - */ - public static Authentication getAuthentication() - { - return SecurityContextHolder.getContext().getAuthentication(); } /** @@ -79,7 +95,7 @@ /** * 鏄惁涓虹鐞嗗憳 - * + * * @param userId 鐢ㄦ埛ID * @return 缁撴灉 */ -- Gitblit v1.9.3