From 68fe223129de00d5370e5ab88e96be80d708a85f Mon Sep 17 00:00:00 2001
From: chenjiantian <214228265@qq.com>
Date: 星期二, 18 一月 2022 14:21:41 +0800
Subject: [PATCH] 权限管理

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/security/PermissionConfig.java |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/PermissionConfig.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/security/PermissionConfig.java
index ac82153..3cf5eea 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/security/PermissionConfig.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/security/PermissionConfig.java
@@ -1,5 +1,6 @@
 package com.sandu.ximon.admin.security;
 
+import com.sandu.common.security.LoginUserInfo;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.stereotype.Service;
 
@@ -12,14 +13,18 @@
  * @date 2021/8/27 18:28
  * 鏉冮檺鎺у埗
  */
-@Service(value = "p")
+@Service(value = "el")
 public class PermissionConfig {
 
-//    public Boolean check(String... permissions) {
-//
-//        // 鑾峰彇褰撳墠鐢ㄦ埛鐨勬墍鏈夋潈闄�
-//        List<String> elPermissions = SecurityUtils.getUserDetails().getAuthorities().stream().map(GrantedAuthority::getAuthority).collect(Collectors.toList());
-//        // 鍒ゆ柇褰撳墠鐢ㄦ埛鐨勬墍鏈夋潈闄愭槸鍚﹀寘鍚帴鍙d笂瀹氫箟鐨勬潈闄�
-//        return elPermissions.contains("admin") || Arrays.stream(permissions).anyMatch(elPermissions::contains);
-//    }
+    public Boolean check(String... permissions) {
+        LoginUserInfo loginUserInfo = SecurityUtils.getUserDetails();
+        if (loginUserInfo == null || loginUserInfo.getPermission() == null) {
+            return false;
+        }
+        String[] split = loginUserInfo.getPermission().split(",");
+        // 鑾峰彇褰撳墠鐢ㄦ埛鐨勬墍鏈夋潈闄�
+        List<String> elPermissions = Arrays.stream(split).collect(Collectors.toList());
+        // 鍒ゆ柇褰撳墠鐢ㄦ埛鐨勬墍鏈夋潈闄愭槸鍚﹀寘鍚帴鍙d笂瀹氫箟鐨勬潈闄�
+        return elPermissions.contains("admin") || Arrays.stream(permissions).anyMatch(elPermissions::contains);
+    }
 }

--
Gitblit v1.9.3