All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xyz.migoo.framework.infra.service.sys.permission.PermissionService Maven / Gradle / Ivy

The newest version!
package xyz.migoo.framework.infra.service.sys.permission;

import xyz.migoo.framework.infra.dal.dataobject.sys.Menu;
import org.springframework.lang.Nullable;
import xyz.migoo.framework.security.core.service.SecurityPermissionFrameworkService;

import java.util.Collection;
import java.util.List;
import java.util.Set;

public interface PermissionService extends SecurityPermissionFrameworkService {

    /**
     * 初始化权限的本地缓存
     */
    void initLocalCache();

    /**
     * 获得角色们拥有的菜单列表,从缓存中获取
     * 

* 任意参数为空时,则返回为空 * * @param roleIds 角色编号数组 * @param menuTypes 菜单类型数组 * @param menusStatuses 菜单状态数组 * @return 菜单列表 */ List

getRoleMenusFromCache(Collection roleIds, Collection menuTypes, Collection menusStatuses); /** * 获得用户拥有的角色编号集合 * * @param userId 用户编号 * @param roleStatuses 角色状态集合. 允许为空,为空时不过滤 * @return 角色编号集合 */ Set getUserRoleIds(Long userId, @Nullable Collection roleStatuses); /** * 获得角色拥有的菜单编号集合 * * @param roleId 角色编号 * @return 菜单编号集合 */ Set getRoleMenuIds(Long roleId); /** * 设置角色菜单 * * @param roleId 角色编号 * @param menuIds 菜单编号集合 */ void assignRoleMenu(Long roleId, Set menuIds); /** * 获得用户拥有的角色编号集合 * * @param userId 用户编号 * @return 角色编号集合 */ Set getUserRoleIs(Long userId); /** * 设置用户角色 * * @param userId 角色编号 * @param roleIds 角色编号集合 */ void assignUserRole(Long userId, Set roleIds); /** * 处理角色删除时,删除关联授权数据 * * @param roleId 角色编号 */ void processRoleDeleted(Long roleId); /** * 处理菜单删除时,删除关联授权数据 * * @param menuId 菜单编号 */ void processMenuDeleted(Long menuId); /** * 处理用户删除是,删除关联授权数据 * * @param userId 用户编号 */ void processUserDeleted(Long userId); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy