MrShi
2024-11-01 deb4575b72443cf906946a9fb28a557c16556fb9
server/service/src/main/java/com/doumee/config/shiro/ShiroRealm.java
@@ -6,6 +6,7 @@
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.CompanyPermission;
import com.doumee.dao.system.model.SystemDataPermission;
import com.doumee.dao.system.model.SystemPermission;
import com.doumee.dao.system.model.SystemRole;
import com.doumee.dao.system.model.SystemUser;
@@ -107,8 +108,7 @@
        List<SystemPermission> permissions =null;
        // 获取登录用户信息
         if(authenticationToken.getUserType() == 0){
             roles =   systemRoleService.findByUserId(user.getId());
             permissions =  systemPermissionService.findByUserId(user.getId());
            roles =   systemRoleService.findByUserId(user.getId());
            CompanyPermission c = new CompanyPermission();
            c.setUserId(user.getId());
            c.setIsdeleted(Constants.ZERO);
@@ -121,6 +121,7 @@
                    user.getCompanyIdList().add(cc.getCompanyId());
                }
            }
            permissions =  systemPermissionService.findByUserId(user.getId());
        }else{
            Company company = companyService.findById(user.getCompanyId());
            if(company == null){
@@ -134,14 +135,19 @@
                role.setDeleted(Boolean.FALSE);
                roles =   systemRoleService.findList(role);
                SystemPermission p = new SystemPermission();
                permissions =  systemPermissionService.findList(p);
                permissions =  systemPermissionService.findList(p,user.getType());
            }else{
                roles =   systemRoleService.findByUserId(user.getId());
                permissions =  systemPermissionService.findByUserId(user.getId());
            }
        }
        LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
        SystemRole rt = new SystemRole();
        rt.setDeleted(Boolean.FALSE);
        //数据部门权限集合
        user.setDepartIdList(systemDataPermissionService.selectHighRole(new SystemDataPermission(),rt,user));
        LoginUserInfo userInfo = LoginUserInfo.from(user, roles, permissions);
        // 验证用户
        return new SimpleAuthenticationInfo(userInfo, user.getPassword(), this.getName());
    }