RuoYi
2026-03-22 0017cc88620501d55cd8bf11c802ad435525e138
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java
@@ -6,6 +6,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.service.ISysMenuService;
@@ -39,7 +42,7 @@
        // 管理员拥有所有权限
        if (user.isAdmin())
        {
            roles.add("admin");
            roles.add(Constants.SUPER_ADMIN);
        }
        else
        {
@@ -61,7 +64,7 @@
        // 管理员拥有所有权限
        if (user.isAdmin())
        {
            perms.add("*:*:*");
            perms.add(Constants.ALL_PERMISSION);
        }
        else
        {
@@ -71,9 +74,12 @@
                // 多角色设置permissions属性,以便数据权限匹配权限
                for (SysRole role : roles)
                {
                    Set<String> rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId());
                    role.setPermissions(rolePerms);
                    perms.addAll(rolePerms);
                    if (StringUtils.equals(role.getStatus(), UserConstants.ROLE_NORMAL) && !role.isAdmin())
                    {
                        Set<String> rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId());
                        role.setPermissions(rolePerms);
                        perms.addAll(rolePerms);
                    }
                }
            }
            else