Class PermissionService

java.lang.Object
com.bytedesk.core.rbac.permission.PermissionService

@Service public class PermissionService extends Object
权限检查服务 用于检查用户对不同层级数据的访问权限
  • Field Details

  • Constructor Details

    • PermissionService

      public PermissionService()
  • Method Details

    • getCurrentUserAuthorities

      public Set<String> getCurrentUserAuthorities()
      获取当前用户的所有权限
    • hasAuthority

      public boolean hasAuthority(String authority)
      检查当前用户是否有指定权限
    • hasAnyAuthority

      public boolean hasAnyAuthority(String... authorities)
      检查当前用户是否有指定权限中的任意一个
    • hasLevelPermission

      public boolean hasLevelPermission(String module, String action, String dataLevel)
      检查用户是否有权限访问指定层级的数据
      Parameters:
      module - 模块名称,如 TAG, QUICKREPLY 等
      action - 操作类型,如 READ, CREATE, UPDATE, DELETE
      dataLevel - 数据的层级
      Returns:
      是否有权限
    • hasEntityPermission

      public boolean hasEntityPermission(String module, String action, BaseEntity entity)
      检查用户是否有权限操作指定实体
      Parameters:
      module - 模块名称
      action - 操作类型
      entity - 数据实体
      Returns:
      是否有权限
    • getAccessibleLevels

      public Set<String> getAccessibleLevels(String module, String action)
      获取用户可访问的数据层级列表
      Parameters:
      module - 模块名称
      action - 操作类型
      Returns:
      可访问的层级列表
    • canCreateAtLevel

      public boolean canCreateAtLevel(String module, String level)
      检查用户是否可以创建指定层级的数据
    • canUpdateAtLevel

      public boolean canUpdateAtLevel(String module, String level)
      检查用户是否可以更新指定层级的数据
    • canDeleteAtLevel

      public boolean canDeleteAtLevel(String module, String level)
      检查用户是否可以删除指定层级的数据
    • canReadAtLevel

      public boolean canReadAtLevel(String module, String level)
      检查用户是否可以读取指定层级的数据
    • indexOf

      private int indexOf(String[] array, String value)