类 NacosRoleServiceImpl


  • @Service
    public class NacosRoleServiceImpl
    extends java.lang.Object
    Nacos builtin role service.
    从以下版本开始:
    1.2.0
    作者:
    nkorange
    • 字段详细资料

      • DEFAULT_PAGE_NO

        private static final int DEFAULT_PAGE_NO
        另请参阅:
        常量字段值
      • authConfigs

        @Autowired
        private com.alibaba.nacos.auth.config.AuthConfigs authConfigs
      • roleSet

        private volatile java.util.Set<java.lang.String> roleSet
      • roleInfoMap

        private volatile java.util.Map<java.lang.String,​java.util.List<RoleInfo>> roleInfoMap
      • permissionInfoMap

        private volatile java.util.Map<java.lang.String,​java.util.List<PermissionInfo>> permissionInfoMap
    • 构造器详细资料

      • NacosRoleServiceImpl

        public NacosRoleServiceImpl()
    • 方法详细资料

      • reload

        @Scheduled(initialDelay=5000L,
                   fixedDelay=15000L)
        private void reload()
      • hasPermission

        public boolean hasPermission​(java.lang.String username,
                                     com.alibaba.nacos.plugin.auth.api.Permission permission)
        Determine if the user has permission of the resource.

        Note if the user has many roles, this method returns true if any one role of the user has the desired permission.

        参数:
        username - user info
        permission - permission to auth
        返回:
        true if granted, false otherwise
      • getRoles

        public java.util.List<RoleInfo> getRoles​(java.lang.String username)
      • getRolesFromDatabase

        public com.alibaba.nacos.config.server.model.Page<RoleInfo> getRolesFromDatabase​(java.lang.String userName,
                                                                                         java.lang.String role,
                                                                                         int pageNo,
                                                                                         int pageSize)
      • getPermissions

        public java.util.List<PermissionInfo> getPermissions​(java.lang.String role)
      • getPermissionsByRoleFromDatabase

        public com.alibaba.nacos.config.server.model.Page<PermissionInfo> getPermissionsByRoleFromDatabase​(java.lang.String role,
                                                                                                           int pageNo,
                                                                                                           int pageSize)
      • addRole

        public void addRole​(java.lang.String role,
                            java.lang.String username)
        Add role.
        参数:
        role - role name
        username - user name
      • deleteRole

        public void deleteRole​(java.lang.String role,
                               java.lang.String userName)
      • deleteRole

        public void deleteRole​(java.lang.String role)
      • getPermissionsFromDatabase

        public com.alibaba.nacos.config.server.model.Page<PermissionInfo> getPermissionsFromDatabase​(java.lang.String role,
                                                                                                     int pageNo,
                                                                                                     int pageSize)
      • addPermission

        public void addPermission​(java.lang.String role,
                                  java.lang.String resource,
                                  java.lang.String action)
        Add permission.
        参数:
        role - role name
        resource - resource
        action - action
      • deletePermission

        public void deletePermission​(java.lang.String role,
                                     java.lang.String resource,
                                     java.lang.String action)
      • findRolesLikeRoleName

        public java.util.List<java.lang.String> findRolesLikeRoleName​(java.lang.String role)
      • joinResource

        private java.lang.String joinResource​(com.alibaba.nacos.plugin.auth.api.Resource resource)
      • findRolesLike4Page

        public com.alibaba.nacos.config.server.model.Page<RoleInfo> findRolesLike4Page​(java.lang.String username,
                                                                                       java.lang.String role,
                                                                                       int pageNo,
                                                                                       int pageSize)
      • findPermissionsLike4Page

        public com.alibaba.nacos.config.server.model.Page<PermissionInfo> findPermissionsLike4Page​(java.lang.String role,
                                                                                                   int pageNo,
                                                                                                   int pageSize)