From 695cb6d76b838b1e4cb161bae335faa948dca12a Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 27 十月 2021 13:16:19 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into satoken

---
 ruoyi-common/src/main/java/com/ruoyi/common/utils/SecurityUtils.java |   84 ++++++++++++++++++++---------------------
 1 files changed, 41 insertions(+), 43 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..a8bfb3f 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,55 +1,56 @@
 package com.ruoyi.common.utils;
 
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
+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
+ *
+ * @author Long Li
  */
-public class SecurityUtils
-{
+public class SecurityUtils {
+    /**
+     * 鐢ㄦ埛ID
+     **/
+    public static Long getUserId() {
+        return LoginUtils.getUserId();
+    }
+
+    /**
+     * 鑾峰彇閮ㄩ棬ID
+     **/
+    public static Long getDeptId() {
+        try {
+            return getUser().getDeptId();
+        } catch (Exception e) {
+            throw new ServiceException("鑾峰彇閮ㄩ棬ID寮傚父", HttpStatus.HTTP_UNAUTHORIZED);
+        }
+    }
+
     /**
      * 鑾峰彇鐢ㄦ埛璐︽埛
      **/
-    public static String getUsername()
-    {
-        try
-        {
-            return getLoginUser().getUsername();
-        }
-        catch (Exception e)
-        {
-            throw new CustomException("鑾峰彇鐢ㄦ埛璐︽埛寮傚父", HttpStatus.UNAUTHORIZED);
+    public static String getUsername() {
+        try {
+            return getUser().getUserName();
+        } catch (Exception e) {
+            throw new ServiceException("鑾峰彇鐢ㄦ埛璐︽埛寮傚父", HttpStatus.HTTP_UNAUTHORIZED);
         }
     }
 
     /**
      * 鑾峰彇鐢ㄦ埛
      **/
-    public static LoginUser getLoginUser()
-    {
-        try
-        {
-            return (LoginUser) getAuthentication().getPrincipal();
+    public static SysUser getUser() {
+        try {
+            return SpringUtils.getBean(IUserService.class).selectUserById(getUserId());
+        } catch (Exception e) {
+            throw new ServiceException("鑾峰彇鐢ㄦ埛淇℃伅寮傚父", HttpStatus.HTTP_UNAUTHORIZED);
         }
-        catch (Exception e)
-        {
-            throw new CustomException("鑾峰彇鐢ㄦ埛淇℃伅寮傚父", HttpStatus.UNAUTHORIZED);
-        }
-    }
-
-    /**
-     * 鑾峰彇Authentication
-     */
-    public static Authentication getAuthentication()
-    {
-        return SecurityContextHolder.getContext().getAuthentication();
     }
 
     /**
@@ -58,8 +59,7 @@
      * @param password 瀵嗙爜
      * @return 鍔犲瘑瀛楃涓�
      */
-    public static String encryptPassword(String password)
-    {
+    public static String encryptPassword(String password) {
         BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
         return passwordEncoder.encode(password);
     }
@@ -67,24 +67,22 @@
     /**
      * 鍒ゆ柇瀵嗙爜鏄惁鐩稿悓
      *
-     * @param rawPassword 鐪熷疄瀵嗙爜
+     * @param rawPassword     鐪熷疄瀵嗙爜
      * @param encodedPassword 鍔犲瘑鍚庡瓧绗�
      * @return 缁撴灉
      */
-    public static boolean matchesPassword(String rawPassword, String encodedPassword)
-    {
+    public static boolean matchesPassword(String rawPassword, String encodedPassword) {
         BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
         return passwordEncoder.matches(rawPassword, encodedPassword);
     }
 
     /**
      * 鏄惁涓虹鐞嗗憳
-     * 
+     *
      * @param userId 鐢ㄦ埛ID
      * @return 缁撴灉
      */
-    public static boolean isAdmin(Long userId)
-    {
+    public static boolean isAdmin(Long userId) {
         return userId != null && 1L == userId;
     }
 }

--
Gitblit v1.9.3