From 25cf266e99714ac5d428e66b40ce272325c91dd8 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期六, 14 六月 2025 15:01:11 +0800
Subject: [PATCH] 修改管理后台账号和共享session等 屏蔽除出租车外的其他模块

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/shiro/factory/ShiroFactroy.java |   26 +++++++++++++++++---------
 1 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/shiro/factory/ShiroFactroy.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/shiro/factory/ShiroFactroy.java
index 970a268..eb58a7a 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/shiro/factory/ShiroFactroy.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/core/shiro/factory/ShiroFactroy.java
@@ -6,7 +6,9 @@
 import com.stylefeng.guns.core.util.Convert;
 import com.stylefeng.guns.core.util.SpringContextHolder;
 import com.stylefeng.guns.modular.system.dao.MenuMapper;
+import com.stylefeng.guns.modular.system.dao.RoleMapper;
 import com.stylefeng.guns.modular.system.dao.UserMapper;
+import com.stylefeng.guns.modular.system.model.Role;
 import com.stylefeng.guns.modular.system.model.User;
 import org.apache.shiro.authc.CredentialsException;
 import org.apache.shiro.authc.LockedAccountException;
@@ -25,22 +27,25 @@
 @DependsOn("springContextHolder")
 @Transactional(readOnly = true)
 public class ShiroFactroy implements IShiro {
-
+    
     @Autowired
     private UserMapper userMapper;
-
+    
     @Autowired
     private MenuMapper menuMapper;
-
+    
+    @Autowired
+    private RoleMapper roleMapper;
+    
     public static IShiro me() {
         return SpringContextHolder.getBean(IShiro.class);
     }
-
+    
     @Override
     public User user(String account) {
-
+        
         User user = userMapper.getByAccount(account);
-
+        
         // 账号不存在
         if (null == user) {
             throw new CredentialsException();
@@ -55,13 +60,15 @@
     @Override
     public ShiroUser shiroUser(User user) {
         ShiroUser shiroUser = new ShiroUser();
-
+    
         shiroUser.setId(user.getId());
         shiroUser.setAccount(user.getAccount());
         shiroUser.setDeptId(user.getDeptid());
         shiroUser.setDeptName(ConstantFactory.me().getDeptName(user.getDeptid()));
         shiroUser.setName(user.getName());
-
+        shiroUser.setObjectId(user.getObjectId());
+        shiroUser.setRoleType(user.getRoleType());
+    
         Integer[] roleArray = Convert.toIntArray(user.getRoleid());
         List<Integer> roleList = new ArrayList<Integer>();
         List<String> roleNameList = new ArrayList<String>();
@@ -71,7 +78,8 @@
         }
         shiroUser.setRoleList(roleList);
         shiroUser.setRoleNames(roleNameList);
-
+        List<Role> roles = roleMapper.selectBatchIds(roleList);
+        shiroUser.setAdmin(roles.stream().filter(s -> s.getTips().equals("administrator")).findAny().isPresent());
         return shiroUser;
     }
 

--
Gitblit v1.7.1