|
@@ -16,6 +16,7 @@ import javax.crypto.SecretKey;
|
|
|
import javax.crypto.spec.SecretKeySpec;
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
import java.util.Base64;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
public class SecurityUtil {
|
|
@@ -58,11 +59,32 @@ public class SecurityUtil {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
- public static Object getPrincipal() {
|
|
|
- Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
|
|
- Object principal = authentication.getPrincipal();
|
|
|
- return principal;
|
|
|
+ /**
|
|
|
+ * 判断是否具备权限,或者是超级管理员
|
|
|
+ */
|
|
|
+ public static Boolean hasPermission(String permission) {
|
|
|
+ SecurityUserInfo userInfo = getUserInfo();
|
|
|
+ List<String> modules = userInfo.getModules();
|
|
|
+ return modules.contains(permission);
|
|
|
+ }
|
|
|
+ public static Boolean hasPermissions(List<String> permissions) {
|
|
|
+ SecurityUserInfo userInfo = getUserInfo();
|
|
|
+ List<String> modules = userInfo.getModules();
|
|
|
+ return permissions.stream().allMatch(modules::contains);
|
|
|
}
|
|
|
+ /**
|
|
|
+ * 判断是否超级管理员
|
|
|
+ */
|
|
|
+ public static Boolean isSuper() {
|
|
|
+ SecurityUserInfo userInfo = getUserInfo();
|
|
|
+ return userInfo.getIs_super() == 1;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+// public static Object getPrincipal() {
|
|
|
+// Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
|
|
|
+// Object principal = authentication.getPrincipal();
|
|
|
+// return principal;
|
|
|
+// }
|
|
|
|
|
|
}
|