KaTool-Security
Home
GetStart
  • AuthCenter
  • 适配SpringCloudGateWay
  • 适配Zuul
  • 网关中间件更换适配方案
  • 插件化鉴权
  • 注解文档
  • Restful响应文档
  • 内部方法文档
  • Auth中心RPC调用接口文档
  • 1.1.0.RELEASE之前
  • 1.1.0.RELEASE新概念
  • 参与贡献
  • 未来规划
  • KaTool
  • KaToolTest
  • 在github上修改本页面
  • Karos'Blog
Home
GetStart
  • AuthCenter
  • 适配SpringCloudGateWay
  • 适配Zuul
  • 网关中间件更换适配方案
  • 插件化鉴权
  • 注解文档
  • Restful响应文档
  • 内部方法文档
  • Auth中心RPC调用接口文档
  • 1.1.0.RELEASE之前
  • 1.1.0.RELEASE新概念
  • 参与贡献
  • 未来规划
  • KaTool
  • KaToolTest
  • 在github上修改本页面
  • Karos'Blog
  • Dubbo-RPC接口

Dubbo-RPC接口

AuthService

概述

AuthService 是一个针对表【auth】的数据库操作Service接口,提供了对权限数据的增、删、改、查等操作。

接口定义

package cn.katool.security.service;

import cn.katool.security.core.model.dto.auth.AuthAddRequest;
import cn.katool.security.core.model.dto.auth.AuthUpdateRequest;
import cn.katool.security.core.model.vo.AuthVO;

import java.util.List;

/**
 * 针对表【auth】的数据库操作Service
 * @createDate 2023-05-27 11:29:05
 */
public interface AuthService {

    /**
     * 插入权限数据
     * @param addRequest 权限新增请求
     * @return 插入成功返回 true,否则返回 false
     */
    Boolean insert(AuthAddRequest addRequest);

    /**
     * 更新权限数据
     * @param authUpdateRequest 权限更新请求
     * @return 更新成功返回 true,否则返回 false
     */
    Boolean change(AuthUpdateRequest authUpdateRequest);

    /**
     * 开启指定权限
     * @param method 请求方法
     * @param uri 请求路径
     * @param route 路由
     * @return 开启成功返回 true,否则返回 false
     */
    Boolean open(String method, String uri, String route);

    /**
     * 开启指定权限
     * @param id 权限ID
     * @return 开启成功返回 true,否则返回 false
     */
    Boolean open(String id);

    /**
     * 判断指定权限是否开启
     * @param method 请求方法
     * @param uri 请求路径
     * @param route 路由
     * @return 开启返回 true,否则返回 false
     */
    Boolean isOpen(String method, String uri, String route);

    /**
     * 重新加载权限数据
     * @return 重新加载成功返回 true,否则返回 false
     */
    Boolean reload();

    /**
     * 开启多个权限
     * @param ids 权限ID列表
     * @return 开启成功返回 true,否则返回 false
     */
    Boolean open(List<String> ids);

    /**
     * 关闭多个权限
     * @param ids 权限ID列表
     * @return 关闭成功返回 true,否则返回 false
     */
    Boolean close(List<String> ids);

    /**
     * 关闭指定权限
     * @param id 权限ID
     * @return 关闭成功返回 true,否则返回 false
     */
    Boolean close(String id);

    /**
     * 关闭指定权限
     * @param method 请求方法
     * @param uri 请求路径
     * @param route 路由
     * @return 关闭成功返回 true,否则返回 false
     */
    Boolean close(String method, String uri, String route);

    /**
     * 根据请求信息获取权限详情
     * @param method 请求方法
     * @param requestURI 请求路径
     * @param contextPath 上下文路径
     * @return 权限详情
     */
    AuthVO getOne(String method, String requestURI, String contextPath);

    /**
     * 获取所有已开启的权限列表
     * @return 已开启的权限列表
     */
    List<AuthVO> getListByIsOpen();

    /**
     * 保存或更新权限数据
     * @param one 权限详情
     * @return 保存或更新成功返回 true,否则返回 false
     */
    Boolean saveOrUpdate(AuthVO one);
}

方法说明

insert(AuthAddRequest addRequest)

插入权限数据。

change(AuthUpdateRequest authUpdateRequest)

更新权限数据。

open(String method, String uri, String route)

开启指定权限。

open(String id)

开启指定权限。

isOpen(String method, String uri, String route)

判断指定权限是否开启。

reload()

重新加载权限数据。

open(List<String> ids)

开启多个权限。

close(List<String> ids)

关闭多个权限。

close(String id)

关闭指定权限。

close(String method, String uri, String route)

关闭指定权限。

getOne(String method, String requestURI, String contextPath)

根据请求信息获取权限详情。

getListByIsOpen()

获取所有已开启的权限列表。

saveOrUpdate(AuthVO one)

保存或更新权限数据。

使用示例

// 示例:在服务中使用AuthService接口
@DubboReference(check = false)
private AuthService authService;
// 插入权限数据
Boolean insertResult = authService.insert(authAddRequest);

// 更新权限数据
Boolean changeResult = authService.change(authUpdateRequest);

// 开启指定权限
Boolean openResult = authService.open("GET", "/api/resource", "/route");

// 判断指定权限是否开启
Boolean isOpenResult = authService.isOpen("GET", "/api/resource", "/route");

// 重新加载权限数据
Boolean reloadResult = authService.reload();

// 开启多个权限
Boolean openMultipleResult = authService.open(List.of("id1", "id2", "id3"));

// 关闭多个权限
Boolean closeMultipleResult = authService.close(List.of("id1", "id2", "id3"));

// 关闭指定权限
Boolean closeResult = authService.close("id");

// 获取权限详情
AuthVO authDetail = authService.getOne("GET", "/api/resource", "/route");

// 获取所有已开启的权限列表
List<AuthVO> openAuthList = authService.getListByIsOpen();

// 保存或更新权限数据
Boolean saveOrUpdateResult = authService.saveOrUpdate(authVO);

以上示例展示了如何在服务中使用 AuthService 接口的各个方法进行权限数据的增、删、改、查等操作。用户可以根据实际需求调用相应的方法。

Last Updated:
Contributors: ZonglinWu