From 59ae9759fd50568059fa44f43832f5a414edb3e9 Mon Sep 17 00:00:00 2001
From: kongzy <kongzy>
Date: 星期一, 27 十一月 2023 15:08:23 +0800
Subject: [PATCH] 增加权限控制

---
 assess-framework/src/main/java/com/gkhy/assess/framework/shiro/realm/UserRealm.java |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/realm/UserRealm.java b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/realm/UserRealm.java
index 18ba914..84bdc4d 100644
--- a/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/realm/UserRealm.java
+++ b/assess-framework/src/main/java/com/gkhy/assess/framework/shiro/realm/UserRealm.java
@@ -1,5 +1,6 @@
 package com.gkhy.assess.framework.shiro.realm;
 
+import com.gkhy.assess.common.enums.UserIdentityEnum;
 import com.gkhy.assess.common.utils.RequestUtil;
 import com.gkhy.assess.common.utils.SpringContextUtils;
 import com.gkhy.assess.framework.shiro.JwtToken;
@@ -37,8 +38,17 @@
         Set<String> roles=new HashSet<>();
         Set<String> menus=new HashSet<>();
         SimpleAuthorizationInfo info=new SimpleAuthorizationInfo();
-        info.addRole("admin");
-        info.addStringPermission("*:*:*");
+        if(sysUser.getIdentity().equals(UserIdentityEnum.MONITOR.getCode())){
+            info.addRole("monitor");
+            info.addStringPermission("system:assess:monitor");
+        }else if(sysUser.getIdentity().equals(UserIdentityEnum.AGENCY.getCode())){
+            info.addRole("agency");
+            info.addStringPermission("system:assess:agency");
+        }else{
+            info.addRole("expert");
+            info.addStringPermission("system:assess:expert");
+        }
+
         return info;
     }
 
@@ -50,11 +60,12 @@
      */
     @Override
     protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
+        HttpServletRequest req = SpringContextUtils.getHttpServletRequest();
         SysUser sysUser=null;
         if(authenticationToken instanceof JwtToken){
             String token= (String) authenticationToken.getCredentials();
             if(token==null){
-                HttpServletRequest req = SpringContextUtils.getHttpServletRequest();
+
                 log.info("————————身份认证失败——————————IP地址:  "+ RequestUtil.getRequestIp(req) +",URL:"+req.getRequestURI());
                 throw new AuthenticationException("token为空!");
             }

--
Gitblit v1.9.2