From 9f4c4e77bd7936645d174f21a6abf8951b533e8d Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期二, 18 一月 2022 17:51:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ximon-admin/src/main/java/com/sandu/ximon/admin/security/PermissionConfig.java | 26 ++++++++++++++++++--------
1 files changed, 18 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..87e47f1 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,7 @@
package com.sandu.ximon.admin.security;
+import com.sandu.common.security.LoginUserInfo;
+import com.sandu.ximon.dao.enums.AdministratorEnums;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.stereotype.Service;
@@ -12,14 +14,22 @@
* @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;
+ }
+ // 瀹㈡埛娌℃湁鏉冮檺绠$悊
+ if(AdministratorEnums.CUSTOMER.getCode().equals(loginUserInfo.getAdministratorType())){
+ return true;
+ }
+ 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