`
zhangdaiscott
  • 浏览: 440614 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
8fb25857-16b4-3681-ab5e-e319f45c42a8
Jeecg快速开发平台
浏览量:0
文章分类
社区版块
存档分类

【JEECG技术文档】JEECG 接口权限开发及配置使用说明

阅读更多

1.功能介绍

 

    通过接口配置实现,对接口的访问权限控制和数据权限控制,接口时REST接口,接口权限认证机制使用Json web token (JWT)

 

    接口权限调用流程:

    (1)通过接口用户的用户名密码,调用鉴权token接口获取接口用户的token

             该token,2个小时内有效

    (2)把获取的token作为参数,调用接口的时候,会根据token去鉴权

    (3)鉴权通过,接口会根据接口定义的编码,检验是否有访问权限

            有则可以继续访问,无则提示访问受限

    (4)有访问权限,则获取接口的数据权限规则,根据授权的数据权限规则返回需要的数据

 

     实现一个新的接口,无需关注token的鉴权机制,需要实现以下步骤:

 

    (1)开发一个rest接口

    (2)枚举类InterfaceEnum中定义接口编码

    (3)调用InterfaceUtil工具类getInterfaceRuleDto获取接口权限,验证是否有访问权限,并获取数据权限

   (4)根据获取的数据权限,组装查询条件返回接口数据

 

2. 权限接口定义

 

    开发一个接口rest接口,public enum InterfaceEnum   类中定义接口编码

 

[java] view plain copy
 
  1. blacklist_list("blacklist_list", "黑名单分页查询", "/rest/tsBlackListController", "GET", 1)  
  2. blacklist_list 为接口编码  

 

 

3. 接口管理

 

    3.1  配置接口权限,

   

    接口权限管理--接口权限录入,

 

  

      接口添加:

 

 

    说明:

 

  • 接口权限编码:该编码比较重要,每个接口一个编码,不能重复。该编码由开发者制定(见接口权限开发,接口编码定义)
  • 接口权限名称:定义名称
  • 接口权限等级:一级权限,下级权限区分
  • 父级接口:上下级关系维护(父子关系)
  • 接口权限地址:接口请求地址
  • 请求方式:GET、POST、PUT、DELETE
  • 接口权限排序:树形列表展示的顺序

    以上信息:接口权限编码字段比较重要,其他的字段与权限控制无关,只做说明使用

 

 

    3.2 增加数据规则权限

 

    

 

 

4. 创建接口角色

 

    4.1 创建接口角色,进行角色授权,然后分配角色给接口用户

      

    接口权限---接口角色管理   创建接口角色

 

 

5. 接口开发实现

 
    接口中增加业务逻辑:

    5.1 校验接口访问权限

[java] view plain copy
 
  1. InterfaceRuleDto interfaceRuleDto = InterfaceUtil.getInterfaceRuleDto(request, InterfaceEnum.blacklist_list);  
  2.         if(interfaceRuleDto==null){  
  3.             return Result.error("您没有该接口的权限!");  
  4.         }  

 

    5.2 接口权限规则注入

 

     方案一:查询器处理

[java] view plain copy
 
  1. CriteriaQuery cq = new CriteriaQuery(TsBlackListEntity.class, dataGrid);  
  2. nterfaceUtil.installCriteriaQuery(cq, interfaceRuleDto, InterfaceEnum.blacklist_list);  

 

    方案二:Sql和hql 处理

[java] view plain copy
 
  1. String qlStr = InterfaceUtil.getQL(interfaceRuleDto, InterfaceEnum.blacklist_list);  

 

      把组装的qlStr 追加到查询语句中

 

6. 接口测试

 
[java] view plain copy
 
  1. //获取token  
  2. public static String getToken(String userName,String password){  
  3.         String url = "http://localhost:8888/jeecg-bpm/rest/tokens?username="+userName+"&password="+password;  
  4.         String token= JwtHttpUtil.httpRequest(url, "POST", null);  
  5.         return token;  
  6.     }  
  7.       
  8.       
  9.     //获取黑名单列表  
  10.     public static JSONObject getBlackList(String token){  
  11.         String url = "http://localhost:8888/jeecg-bpm/rest/tsBlackListController";  
  12.         JSONObject resp= JwtHttpUtil.httpRequest(url, "GET", null,token);  
  13.         return resp;  
  14.     }  
  15.   
  16.   
  17. public static void main(String[] args) {  
  18.        //接口角色授权的用户账号密码  
  19.         String token = getToken("interfaceuser","123456");  
  20.         //获取黑名单列表  
  21.         System.out.println("======获取黑名单列表======="+getBlackList(token));  
  22.     }  
分享到:
评论

相关推荐

    JEECG开发全套文档

    里面包含JEECG JEasyPoi技术指南,JEECG Online表单对外接口v3.7,JEECG Online表单开发指南v3.7,JEECG UI标签文档v3.7,JEECG 开发入门环境搭建(Maven-eclipse)3.7,JEECG 开发指南v3.7,JEECG 权限开发手册V3.7,...

    jeecg官方文档

    3. **开发文档**:这部分内容会涵盖Jeecg的API使用、服务接口设计、控制器编写、页面模板制作等方面,帮助开发者理解和掌握Jeecg的开发流程。还会涉及如何配置开发环境、集成开发工具如IDEA,以及项目的构建和部署。...

    Jeecg3.8帮助手册

    - **其他专题技术文档**: 针对特定技术或功能提供的文档,例如数据库连接池配置、安全性设置等。 #### JEECG快速开发平台-介绍 - **版本信息**: 当前最新版本为3.7.3,发布日期为20180313。 - **前言**: 强调了随着...

    jeecg官方开发文档

    官方文档详细阐述了使用Jeecg进行项目开发的步骤,包括环境配置、项目初始化、模块开发、测试、部署等环节,以及在开发过程中需要注意的最佳实践,如代码规范、性能优化等。 8. **问题解决与社区支持** Jeecg拥有...

    jeecg文档.zip

    JEECG 权限开发手册、jeecg_v3.7表结构说明、JEECG 开发指南v3.7、JEECG 开发入门环境搭建(Maven-eclipse)3.7、JEECG UI标签文档v3.7.1、JEECG Online表单开发指南v3.7、JEECG Online表单对外接口v3.7、JEECG ...

    JEECG 快速开发指南

    - **项目导入开发环境**:可以使用IDEA、Eclipse等Java开发工具导入JEECG项目,通常项目结构包含源码、配置文件、资源文件等。 - **数据库初始化**:根据项目需求,配置数据库连接,导入JEECG提供的初始化脚本,建立...

    JEECG 开发指南v3.6

    国际化的实现也是JEECG支持的重要特性之一,文档说明了国际化背景、实现原理、使用场景及语言维护,使得JEECG能够支持多语言应用的开发。 此外,文档还提供了一些实用的开发技巧,如IFrame页面打开方法、组合查询的...

    JEECG 开发指南v3.7

    **JEECG 开发指南v3.7**是针对JEECG框架的详细技术文档,旨在帮助开发者深入了解和高效利用该框架进行企业级Java应用的开发。JEECG是一款基于代码生成器的Java快速开发平台,它融合了多种先进的开发理念和技术,致力...

    JEECG Online 表单对外接口v3.61

    JEECG是一个基于Java技术的智能开发平台,它提供了在线表单设计、代码生成等功能,大大提高了开发效率。JEECG的社区活跃,提供了论坛和QQ群来支持开发者交流和解决问题。在使用这些接口时,开发者需要注意权限控制,...

    jeecg开发平台源码

    Jeecg开发平台是一款基于Java技术的企业级快速开发框架,其源码的提供使得开发者能够深入理解其工作原理,进一步定制化开发或者进行二次开发。这个框架的核心目标是提高开发效率,降低维护成本,实现敏捷开发。以下...

    JEECG 开发指南v3.4.2.pdf

    JEECG的开发指南是一个详尽的文档,它不仅为开发人员提供了技术指导,还提供了一系列开发技巧和最佳实践,是一份宝贵的资源。通过阅读该指南,开发人员可以快速掌握JEECG框架的使用方法,并高效地应用于项目开发中。

    JEECG开发指南

    1. **主流技术栈**:采用Struts2、Spring3、Hibernate4、EasyUI1.3及SpringJDBC作为主要技术组件,易于学习和上手,且具备良好的扩展性,支持二次开发。 2. **代码生成器**:能够生成符合统一风格的前端页面和后端...

    jeecg常见问题

    1. **数据库配置**:位于`src/main/resources/jeecg/jeecg_database.properties`文件中,用于配置代码生成器所使用的数据库连接信息。 2. **代码生成器配置**:位于`src/main/resources/jeecg/jeecg_config....

    Jeecg-Boot+技术文档_2.0.pdf

    在技术架构上,Jeecg-Boot使用SpringBoot作为基础框架,Mybatis-Plus作为数据访问层,Shiro进行权限管理,JWT用于身份验证,同时结合Swagger-ui提供API文档展示。此外,系统还利用Redis进行缓存处理。前端技术栈主要...

    jeecg教程,完整版

    JEECG还提供了一系列专题技术文档,如minidao、jeasypoijee-p3等,分别对应轻量级JAVA持久层、简易Excel导入导出工具和JEECG插件开发项目等文档,方便开发者查找和学习。 为了实现流程任务节点和任务接口的灵活配置...

    Jeecg3.7.8+教程

    【Jeecg3.7.8 教程】是一份详尽的指南,旨在帮助开发者高效地使用 Jeecg 开发平台。Jeecg 是一个基于代码生成器的智能 J2EE 开发框架,旨在提升开发效率并降低人力成本。在 3.7.8 版本中,它充分利用了成熟的 WEB UI...

    jeecg.zip_jeecg_jeecg下载_jeecg框架案例_jeecg框架讨论_jeecg源码

    在这个目录下,可能有关于Jeecg框架各个模块的说明、接口使用方法、数据库设计等内容,对于学习和使用Jeecg非常有帮助。 5. **src**:源代码目录,这是项目的主要代码存放位置。在Jeecg框架中,src目录可能分为`...

    jeecg-boot开源框架1.0-1.1官方源码.rar

    Jeecg-Boot开源框架是基于Java开发的一款高效、便捷的企业级开发框架,它结合了Spring Boot、MyBatis Plus、Vue.js等技术栈,旨在简化企业级应用的开发流程,提高开发效率。1.0至1.1版本的源码升级主要涵盖了框架的...

    JEECG BOOT高质量的低代码开发平台手册

    此外,JEECG BOOT 还强调了接口安全机制、在线接口文档、在线定时任务、消息中心等企业级应用所需的关键功能,确保系统的稳定性和安全性。平台还提供了详细的二次开发文档和产品培训视频,以帮助用户快速上手和进行...

    jeecg开源框架常用内容汇总整理.rar

    Jeecg开源框架是基于Java开发的一款高效、灵活的企业级应用开发框架,它结合了ORM、DAO、Service、Web、Iframe等多层架构技术,旨在简化企业级应用的开发流程,提高开发效率。这份“jeecg开源框架常用内容汇总整理”...

Global site tag (gtag.js) - Google Analytics