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

【JEECG技术文档】JEECG平台对外接口JWT应用文档V3.7.2

阅读更多

一、 接口方式

       

    接口调用采用http协议,rest请求方式;

 

二、 接口安全

 

    接口安全采用Json web token (JWT)机制,基于token的鉴权机制.

 

    1. 机制说明

    基于token的鉴权机制类似于http协议也是无状态的,它不需要在服务端去保留用户的认证信息或者会话信息。这就意味着基于token认证机制的应用不需要去考虑用户在哪一台服务器登录了,这就为应用的扩展提供了便利。

    2. 基本流程

    流程上是这样的:

        (1) 用户使用用户名密码来请求服务器

        (2) 服务器进行验证用户的信息

        (3) 服务器通过验证发送给用户一个token

        (4) 客户端存储token,并在每次请求时附送上这个token值(存在head里的参数X-AUTH-TOKEN)

        (5) 服务端验证token值,并返回数据

 

 

    3. 优点

 

  •   因为json的通用性,所以JWT是可以进行跨语言支持的,像JAVA,JavaScript,NodeJS,PHP等很多语言都可以使用。
  •   因为有了payload部分,所以JWT可以在自身存储一些其他业务逻辑所必要的非敏感信息。
  •   便于传输,jwt的构成非常简单,字节占用很小,所以它是非常便于传输的。
  •   它不需要在服务端保存会话信息, 所以它易于应用的扩

    4. 安全相关

 

  •   不应该在jwt的payload部分存放敏感信息,因为该部分是客户端可解密的部分。
  •   保护好secret私钥,该私钥非常重要。
  •   如果可以,请使用https协议

三、 缓存配置

    JWT 验证token采用redis进行缓存,

    redis配置文件:src/main/resources/redis.properties

    修改redis对应的IP和端口。

[java] view plain copy
 
  1. #redis  
  2. redis.host=124.206.91.99  
  3. redis.port=6379  
  4. redis.pass=  
  5. redis.adapter.maxIdle=100  
  6. redis.adapter.minIdle=10  
  7. redis.adapter.testOnBorrow=true  
  8. redis.adapter.testOnReturn=true  
  9. redis.adapter.testWhileIdle=true  
  10. redis.adapter.numTestsPerEvictionRun=10  
  11. redis.adapter.timeBetweenEvictionRunsMillis=60000  

 

 

四、 接口说明

   

    注意:访问除【鉴权TOKEN接口】以外的接口时,都需要访问用户拥有对接口的访问权限,如无权限,将直接返回如下信息:

 

[java] view plain copy
 
  1. {"message":"您没有该接口的权限!","data":null,"ok":false,"respCode":"-1"}  

 

1. 鉴权TOKEN接口

    ■描述

        根据用户名和密码获取TOKEN。

    ■访问地址

        http://域名/rest/tokens

    ■访问方式

        GET

    ■参数

参数名

数据类型

是否必须

示例值

默认值

描述

username

String

Y

“admin”

 

用户名

password

String

Y

“123456”

 

密码

 

    ■返回值

        成功时,直接返回token字符串。

        失败时,直接返回用户账号密码错误!

    ■校验规则

        无

    ■请求示例

        请求地址:http://域名/rest/tokens

 

[java] view plain copy
 
  1. {  
  2.     "username":"admin",  
  3.     "password":"123456"  
  4. }  

 

    ■返回示例

 

        成功案例:

[java] view plain copy
 
  1. eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI4YThhYjBiMjQ2ZGM4MTEyMDE0NmRjODE4MTk1MDA1MiIsInN1YiI6ImFkbWluIiwiaWF0IjoxNTExODU0NDE4fQ.tnILZEivS-6YOX9uqsnCHygh7-XrG_-Sj8vLslNGkdQ  
  2.   
  3. 失败案例:  
  4.   
  5. 用户账号密码错误!  

 

 

2. 创建黑名单信息接口

    ■描述

        创建黑名单信息接口,黑名单为单表。

    ■访问地址

        http://域名/rest/tsBlackListController

    ■访问方式

        POST

    ■参数(详见excel)

参数名

数据类型

是否必须

示例值

默认值

描述

ip

String

Y

“192.168.1.1”

 

 

......

 

 

……省略信息其他字段……


    ■返回值

参数名

描述

respCode

返回码(见附录1接口返回信息列表)

respMsg

返回信息(见附录1接口返回信息列表)

data

返回结果(NULL)

ok

状态

    ■校验规则

        1. 接口中涉及日期时间的字段,要求格式化为字符串传递,日期格式为“YYYY-MM-dd”,时间格式为“YYYY-MM-dd HH:mm:ss”。

    ■请求示例

        请求地址:http://域名/rest/tsBlackListController

    参数如下:

     注意:创建企业无需传id,子表无需传id和企业id,这些都会在后台生成,必需要传入的是来源id和来源表。

 

[java] view plain copy
 
  1. {  
  2.   "ip": "192.1.1.1",  
  3. ……(省略信息其他字段)  
  4. }  

 

    ■返回示例

[java] view plain copy
 
  1. 成功案例:  
  2. {  
  3.     "respCode":"0",  
  4.     " respMsg":"成功"  
  5. }  
  6. 失败案例:  
  7. {  
  8.     "respCode":"-1",  
  9.     "respMsg":"黑名单创建失败"  
  10. }  

 

3. 查询黑名单信息接口

    ■描述

        根据id查询或查询黑名单信息接口。

    ■访问地址

根据id查询

http://域名/rest/tsBlackListController/get/{id}

    ■访问方式

        GET

    ■参数

        无

    ■返回值

参数名

描述

respCode

返回码(见附录1接口返回信息列表)

respMsg

返回信息(见附录1接口返回信息列表)

data

返回结果(结构参照创建企业接口的参数,具体字段参照excel)

ok

状态

    ■校验规则

    ■请求示例

        请求地址:http://域名

 

[java] view plain copy
 
  1. /rest/tsBlackListController/get/297e7ae15f7f7f7e015f7fb0f57e0040  

 

    ■返回示例

 

[java] view plain copy
 
  1. 成功案例:  
  2.   
  3. {  
  4.   
  5.     "message": "成功",  
  6.   
  7.     "data": {  
  8.   
  9.         "id": "402881f15e751d2a015e75212c570005",  
  10.   
  11.         "createBy": "admin",  
  12.   
  13.         "updateBy": "",  
  14.   
  15.         "bpmStatus": "1",  
  16.   
  17.         "ip": "111.193.210.4",  
  18.   
  19.         "createName": "管理员",  
  20.   
  21.         "createDate": "2017-09-12 16:07:41",  
  22.   
  23.         "updateName": "",  
  24.   
  25.         "updateDate": null,  
  26.   
  27.         "sysOrgCode": "A03",  
  28.   
  29.         "sysCompanyCode": "A03"  
  30.   
  31.     },  
  32.   
  33.     "respCode": "0",  
  34.   
  35.     "ok": true  
  36.   
  37. }  
[java] view plain copy
 
  1. 失败案例:  
  2. {"data":null,"respCode":"-1","respMsg":"根据所传id查询无结果"}  

 

 

4. 修改黑名单信息接口

    ■描述

        根据id修改

    ■访问地址

        http://域名/rest/tsBlackListController/update/{id}

    ■访问方式

        PUT

    ■参数

参数名

数据类型

是否必须

示例值

默认值

描述

id

String

Y

“402881f15f811877015f8124ca1c0002”

 

 

ip

String

Y

“192.168.1.1”

 

 

 

 

 

……省略信息其他字段……

    ■返回值

参数名

描述

respCode

返回码(见附录1接口返回信息列表)

respMsg

返回信息(见附录1接口返回信息列表)

data

返回结果(NULL)

ok

状态

    ■校验规则

        通过校验主表的字段:来源id和来源表验证数据唯一性。

    ■请求示例

       请求地址:http://域名/rest/tsBlackListController/update/402881f15f811877015f8124ca1c0002

       参数如下:

 

[java] view plain copy
 
  1. {  
  2.   "id": "402881e75f94878e015f94896bb80002",  
  3.   "ip": "1.1.1.1"  
  4.   
  5. }  

 

    ■返回示例

 

[java] view plain copy
 
  1. 成功案例:  
  2. {  
  3.     "respCode":"0",  
  4.     "respMsg":"成功"  
  5. }  
  6.   
  7. 失败案例:  
  8. {  
  9.     "respCode":"-1",  
  10.     "respMsg":"输入ID无效,重复输入"  
  11. }  

 

5. 删除黑名单接口

    ■描述

        根据id删除

    ■访问地址

        http://域名/rest/tsBlackListController/delete/{id}

    ■访问方式

        DELETE

    ■参数

       无

    ■返回值

参数名

描述

respCode

返回码(见附录1接口返回信息列表)

respMsg

返回信息(见附录1接口返回信息列表)

data

返回结果(NULL)

ok

状态

    ■校验规则

        无

    ■请求示例

        请求地址:http://域名/rest/tsBlackListController/delete/297e7ae15f7f7f7e015f7fb0f57e0040

    ■返回示例

 

[java] view plain copy
 
  1. 成功案例:  
  2. {  
  3.     "respCode":"0",  
  4.     "respMsg":"成功"  
  5. }  
  6. 失败案例:  
  7. {  
  8.     "respCode":"-1",  
  9.     "respMsg":"输入ID无效,重复输入"  
  10. }  

 

五、 客户端测试代码

   

    代码示例

[java] view plain copy
 
  1. public static String getToken(String userName,String password){  
  2.         String url = "http://localhost:8080/jeecg/rest/tokens?username="+userName+"&password="+password;  
  3.         String token= JwtHttpUtil.httpRequest(url, "POST", null);  
  4.         return token;  
  5.     }  
  6.         //获取黑名单列表  
  7.     public static JSONObject getBlackList(String token){  
  8.         String url = "http://localhost:8080/jeecg/rest/tsBlackListController";  
  9.         JSONObject resp= JwtHttpUtil.httpRequest(url, "GET", null,token);  
  10.         return resp;  
  11.     }  
  12.     //创建黑名单  
  13.     public static JSONObject createBlackList(String token,String json){  
  14.         String url = "http://localhost:8080/jeecg/rest/tsBlackListController";  
  15.         JSONObject resp= JwtHttpUtil.httpRequest(url, "POST", json,token);  
  16.         return resp;  
  17.     }  
  18.     //更新黑名单  
  19.     public static JSONObject updateBlackList(String token,String json){  
  20.         String url = "http://localhost:8080/jeecg/rest/tsBlackListController";  
  21.         JSONObject resp= JwtHttpUtil.httpRequest(url, "PUT", json,token);  
  22.         return resp;  
  23.     }  
  24.     //删除黑名单  
  25.     public static JSONObject deleteBlackList(String token,String id){  
  26.         String url = "http://localhost:8080/jeecg/rest/tsBlackListController/"+id;  
  27.         JSONObject resp= JwtHttpUtil.httpRequest(url, "DELETE", null,token);  
  28.         return resp;  
  29.     }  
  30.     //查询黑名单  
  31.     public static JSONObject getBlackList(String token,String id){  
  32.         String url = "http://localhost:8080/jeecg/rest/tsBlackListController/"+id;  
  33.         JSONObject resp= JwtHttpUtil.httpRequest(url, "GET", null,token);  
  34.         return resp;  
  35.     }  

 

  • 参考源码:
[java] view plain copy
 
  1. package org.jeecgframework.test.demo;  
  2.   
  3. import org.jeecgframework.jwt.util.JwtHttpUtil;  
  4.   
  5. import com.alibaba.fastjson.JSONObject;  
  6.   
  7. /** 
  8.  * jeecg jwt 
  9.  * 接口客户端调用demo 
  10.  * @author qinfeng 
  11.  * 
  12.  */  
  13. public class JwtRestfulClientDemo {  
  14.       
  15.     public static String getToken(String userName,String password){  
  16.         String url = "http://localhost:8080/jeecg/rest/tokens?username="+userName+"&password="+password;  
  17.         String token= JwtHttpUtil.httpRequest(url, "POST", null);  
  18.         return token;  
  19.     }  
  20.       
  21.       
  22.     //获取黑名单列表  
  23.     public static JSONObject getBlackList(String token){  
  24.         String url = "http://localhost:8080/jeecg/rest/tsBlackListController";  
  25.         JSONObject resp= JwtHttpUtil.httpRequest(url, "GET", null,token);  
  26.         return resp;  
  27.     }  
  28.       
  29.     //创建黑名单  
  30.     public static JSONObject createBlackList(String token,String json){  
  31.         String url = "http://localhost:8080/jeecg/rest/tsBlackListController";  
  32.         JSONObject resp= JwtHttpUtil.httpRequest(url, "POST", json,token);  
  33.         return resp;  
  34.     }  
  35.       
  36.       
  37.     //更新黑名单  
  38.     public static JSONObject updateBlackList(String token,String json){  
  39.         String url = "http://localhost:8080/jeecg/rest/tsBlackListController";  
  40.         JSONObject resp= JwtHttpUtil.httpRequest(url, "PUT", json,token);  
  41.         return resp;  
  42.     }  
  43.       
  44.       
  45.     //删除黑名单  
  46.     public static JSONObject deleteBlackList(String token,String id){  
  47.         String url = "http://localhost:8080/jeecg/rest/tsBlackListController/"+id;  
  48.         JSONObject resp= JwtHttpUtil.httpRequest(url, "DELETE", null,token);  
  49.         return resp;  
  50.     }  
  51.       
  52.     //查询黑名单  
  53.     public static JSONObject getBlackList(String token,String id){  
  54.         String url = "http://localhost:8080/jeecg/rest/tsBlackListController/"+id;  
  55.         JSONObject resp= JwtHttpUtil.httpRequest(url, "GET", null,token);  
  56.         return resp;  
  57.     }  
  58.       
  59.       
  60.     public static void main(String[] args) {  
  61.         String token = getToken("interfaceuser","123456");  
  62. //      String token = "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJhZG1pbiIsInN1YiI6ImFkbWluIiwiaWF0IjoxNTExODU5NjM2fQ.Emfe8VZKA_L33jaW8ZUtVFVDEin83Np_d3gKlPIZryE";  
  63. //      System.out.println(token);  
  64.           
  65.         //添加黑名单  
  66. //      JSONObject jsonObject=new JSONObject();  
  67. //      jsonObject.put("ip","192.168.1.2");  
  68. //      System.out.println("======添加黑名单======="+createBlackList(token,jsonObject.toJSONString()));  
  69.         //更新黑名单  
  70. //      JSONObject jsonObject=new JSONObject();  
  71. //      jsonObject.put("id","402881ee6001da57016001dc13110001");  
  72. //      jsonObject.put("ip","192.168.0.111");  
  73. //      System.out.println("======更新黑名单======="+updateBlackList(token,jsonObject.toJSONString()));  
  74.         //删除黑名单  
  75. //      System.out.println("======删除黑名单======="+deleteBlackList(token,"402881ee6001da57016001dc13110001"));  
  76.         //查询黑名单  
  77. //      System.out.println("======查询黑名单======="+getBlackList(token,"402881ee6001e873016001f369f40008"));  
  78.         //获取黑名单列表  
  79.         System.out.println("======获取黑名单列表======="+getBlackList(token));  
  80.     }  
  81.   
  82. }  
[java] view plain copy
 
  1. package org.jeecgframework.jwt.util;  
  2.   
  3. import java.io.BufferedReader;  
  4. import java.io.InputStream;  
  5. import java.io.InputStreamReader;  
  6. import java.io.OutputStream;  
  7. import java.net.ConnectException;  
  8. import java.net.HttpURLConnection;  
  9. import java.net.URL;  
  10. import org.jeecgframework.core.util.LogUtil;  
  11. import com.alibaba.fastjson.JSONObject;  
  12.   
  13. /** 
  14.  * JWT 客户端 
  15.  * @author qinfeng 
  16.  * 
  17.  */  
  18. public class JwtHttpUtil {  
  19.   
  20.     /** 
  21.      * 发起https请求并获取结果 
  22.      *  
  23.      * @param requestUrl 
  24.      *            请求地址 
  25.      * @param requestMethod 
  26.      *            请求方式(GET、POST) 
  27.      * @param outputStr 
  28.      *            提交的数据 
  29.      * @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值) 
  30.      */  
  31.     public static JSONObject httpRequest(String requestUrl, String requestMethod, String outputStr, String sign) {  
  32.         JSONObject jsonObject = null;  
  33.         StringBuffer buffer = new StringBuffer();  
  34.         HttpURLConnection httpUrlConn = null;  
  35.         try {  
  36.             // 创建SSLContext对象,并使用我们指定的信任管理器初始化  
  37.             URL url = new URL(requestUrl);  
  38.             httpUrlConn = (HttpURLConnection) url.openConnection();  
  39.             httpUrlConn.setDoOutput(true);  
  40.             httpUrlConn.setDoInput(true);  
  41.             httpUrlConn.setUseCaches(false);  
  42.             httpUrlConn.setRequestProperty("X-AUTH-TOKEN", sign);  
  43.             httpUrlConn.setRequestProperty("Accept", "*/*");  
  44.             httpUrlConn.setRequestProperty("Content-Type", "application/json");  
  45.             // 设置请求方式(GET/POST)  
  46.             httpUrlConn.setRequestMethod(requestMethod);  
  47.             if ("GET".equalsIgnoreCase(requestMethod))  
  48.                 httpUrlConn.connect();  
  49.   
  50.             // 当有数据需要提交时  
  51.             if (null != outputStr) {  
  52.                 OutputStream outputStream = httpUrlConn.getOutputStream();  
  53.                 // 注意编码格式,防止中文乱码  
  54.                 outputStream.write(outputStr.getBytes("UTF-8"));  
  55.                 outputStream.close();  
  56.             }  
  57.   
  58.             // 将返回的输入流转换成字符串  
  59.             InputStream inputStream = httpUrlConn.getInputStream();  
  60.             InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");  
  61.             BufferedReader bufferedReader = new BufferedReader(inputStreamReader);  
  62.   
  63.             String str = null;  
  64.             while ((str = bufferedReader.readLine()) != null) {  
  65.                 buffer.append(str);  
  66.             }  
  67.             bufferedReader.close();  
  68.             inputStreamReader.close();  
  69.             // 释放资源  
  70.             inputStream.close();  
  71.             inputStream = null;  
  72.             httpUrlConn.disconnect();  
  73.             System.out.println(buffer.toString());  
  74.             jsonObject = JSONObject.parseObject(buffer.toString());  
  75.             // jsonObject = JSONObject.fromObject(buffer.toString());  
  76.         } catch (ConnectException ce) {  
  77.             LogUtil.info("Weixin server connection timed out.");  
  78.         } catch (Exception e) {  
  79.             e.printStackTrace();  
  80.             org.jeecgframework.core.util.LogUtil.info("https request error:{}" + e.getMessage());  
  81.         } finally {  
  82.             try {  
  83.                 httpUrlConn.disconnect();  
  84.             } catch (Exception e) {  
  85.                 e.printStackTrace();  
  86.                 org.jeecgframework.core.util.LogUtil.info("http close error:{}" + e.getMessage());  
  87.             }  
  88.         }  
  89.         return jsonObject;  
  90.     }  
  91.       
  92.       
  93.     /**  
  94.      * 发起https请求并获取结果  
  95.      *   
  96.      * @param requestUrl  
  97.      *            请求地址  
  98.      * @param requestMethod  
  99.      *            请求方式(GET、POST)  
  100.      * @param outputStr  
  101.      *            提交的数据  
  102.      * @return JSONObject(通过JSONObject.get(key)的方式获取json对象的属性值)  
  103.      */  
  104.     public static String httpRequest(String requestUrl, String requestMethod, String outputStr) {  
  105.         String res = "";  
  106.         StringBuffer buffer = new StringBuffer();  
  107.         HttpURLConnection httpUrlConn = null;  
  108.         try {  
  109.             // 创建SSLContext对象,并使用我们指定的信任管理器初始化  
  110.             URL url = new URL(requestUrl);  
  111.             httpUrlConn = (HttpURLConnection) url.openConnection();  
  112.             httpUrlConn.setDoOutput(true);  
  113.             httpUrlConn.setDoInput(true);  
  114.             httpUrlConn.setUseCaches(false);  
  115.             httpUrlConn.setRequestProperty("Accept", "text/plain");  
  116.              httpUrlConn.setRequestProperty("Content-Type", "application/json");  
  117.             // 设置请求方式(GET/POST)  
  118.             httpUrlConn.setRequestMethod(requestMethod);  
  119.             if ("GET".equalsIgnoreCase(requestMethod))  
  120.                 httpUrlConn.connect();  
  121.   
  122.             // 当有数据需要提交时  
  123.             if (null != outputStr) {  
  124.                 OutputStream outputStream = httpUrlConn.getOutputStream();  
  125.                 // 注意编码格式,防止中文乱码  
  126.                 outputStream.write(outputStr.getBytes("UTF-8"));  
  127.                 outputStream.close();  
  128.             }  
  129.   
  130.             // 将返回的输入流转换成字符串  
  131.             InputStream inputStream = httpUrlConn.getInputStream();  
  132.             InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");  
  133.             BufferedReader bufferedReader = new BufferedReader(inputStreamReader);  
  134.   
  135.             String str = null;  
  136.             while ((str = bufferedReader.readLine()) != null) {  
  137.                 buffer.append(str);  
  138.             }  
  139.             bufferedReader.close();  
  140.             inputStreamReader.close();  
  141.             // 释放资源  
  142.             inputStream.close();  
  143.             inputStream = null;  
  144.             httpUrlConn.disconnect();  
  145.             res = buffer.toString();  
  146.             System.out.println(res);  
  147. //          jsonObject = JSONObject.parseObject(buffer.toString());  
  148.             // jsonObject = JSONObject.fromObject(buffer.toString());  
  149.         } catch (ConnectException ce) {  
  150.             LogUtil.info("Weixin server connection timed out.");  
  151.         } catch (Exception e) {  
  152.             e.printStackTrace();  
  153.             org.jeecgframework.core.util.LogUtil.info("https request error:{}" + e.getMessage());  
  154.         } finally {  
  155.             try {  
  156.                 httpUrlConn.disconnect();  
  157.             } catch (Exception e) {  
  158.                 e.printStackTrace();  
  159.                 org.jeecgframework.core.util.LogUtil.info("http close error:{}" + e.getMessage());  
  160.             }  
  161.         }  
  162.         return res;  
  163.     }  
  164.   
  165. }  
  • 附录1:接口返回CODE

code

msg

说明

解决方案

0

SUCCESS

成功

 

-1

ERROR

无接口访问权限

 

1000

VALID_ERROR

验证失败

 

r0001

SAVE_SUCCESS

写入成功

 

r0002

UPDATE_SUCCESS

更新成功

 

r0003

REMOVE_SUCCESS

删除成功

分享到:
评论

相关推荐

    jeecg官方文档

    总之,《Jeecg官方文档》是学习和掌握Jeecg框架的宝贵资源,它不仅提供了详尽的技术指南,还通过实例演示和实战教程,使开发者能够快速上手并熟练运用Jeecg进行企业级应用的开发。无论你是初学者还是经验丰富的...

    Jeecg-Boot技术文档

    **Jeecg-Boot 技术文档概览** Jeecg-Boot 是一个基于BPM的高效低代码开发平台,旨在提升开发效率,减少重复工作,让开发者更专注于业务逻辑。该框架集成了多种现代技术和工具,实现了前后端分离,支持一键代码生成...

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

    Jeecg-Boot是一款高效的基于...总而言之,Jeecg-Boot是一个强大且全面的低代码开发平台,集成了众多流行的技术,为Java项目提供了快速开发、流程管理、报表设计等多方面的解决方案,是现代企业级应用开发的理想选择。

    JEECG BOOT 低代码开发平台 当前最新版本: 3.6.3(发布日期:2024-03-11)

    JEECG BOOT 低代码开发平台 =============== 当前最新版本: 3.6.3(发布日期:2024-03-11) JeecgBoot 是一款基于代码生成器的`低代码开发平台`!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,...

    JEECG BOOT 低代码开发平台Java项目开源源码

    同时,JEECG BOOT 还集成了众多流行的技术组件,如MyBatis Plus、Shiro安全框架、JWT令牌验证、Quartz任务调度等,为企业级应用提供了全方位的支持。 在低代码开发领域,JEECG BOOT 提供了丰富的图表和表单设计工具...

    若依通用权限管理系统接口文档,是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring

    【若依通用权限管理系统接口文档】是一个基于Java EE技术栈的企业级快速开发平台,核心组件包括Spring Boot、Spring Security、MyBatis、Jwt以及Vue.js。这个系统旨在提供一套完整的权限管理解决方案,涵盖部门管理...

    nimbus-jose-jwt-4.41.1-API文档-中文版.zip

    包含翻译后的API文档:nimbus-jose-jwt-4.41.1-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.nimbusds:nimbus-jose-jwt:4.41.1; 标签:nimbusds、nimbus、jose、jwt、中文文档、jar包、java; 使用方法:...

    JWT帮助文档

    JWT(JSON Web Token)是一种基于JSON的开放标准(RFC ...文档还提供了实际的代码示例,方便开发者在自己的项目中应用JWT技术。需要注意的是,正确地理解和使用JWT以及其安全特性对于保护应用程序和用户数据至关重要。

    spring-security-jwt-1.0.10.RELEASE-API文档-中英对照版.zip

    包含翻译后的API文档:spring-security-jwt-1.0.10.RELEASE-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.springframework.security:spring-security-jwt:1.0.10.RELEASE; 标签:spring、security...

    Jeecg配置单点登录 登录验证完整代码

    Jeecg是一款基于Java技术开发的快速开发平台,它提供了丰富的功能模块,旨在提升开发效率。在本场景中,我们关注的是Jeecg如何配置单点登录(Single Sign-On,简称SSO)以及相关的登录验证代码。单点登录是一种网络...

    jwt简单的介绍和了解

    JWT主要应用于身份验证以及授权,允许在不通过服务器会话的情况下在不同的系统或服务之间传递用户身份信息。 ### JWT的基本结构 JWT由三个部分组成,通过`.`分隔: 1. **头部(Header)**:通常是一个JSON对象,...

    spring boot oauth2 jwt 中文文档.docx

    2. 隐式授权(Implicit):用于移动应用程序或 Web 应用程序(运行在用户设备上的应用程序) 3. 密码凭证授权(Password Credentials):被高度信任的应用程序使用 4. 客户端凭证授权(Client Credentials):用于...

    网联接口开发文档规范

    开发者需要应用SSL/TLS加密、OAuth认证、JWT令牌等方式来保护交易数据的安全,防止数据泄露或被篡改。 3. **请求与响应**:接口应定义清晰的请求和响应结构,包括必要的参数、状态码、错误代码和描述。例如,请求...

    nimbus-jose-jwt-3.9-API文档-中文版.zip

    包含翻译后的API文档:nimbus-jose-jwt-3.9-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.nimbusds:nimbus-jose-jwt:3.9; 标签:nimbus、nimbusds、jose、jwt、jar包、java、API文档、中文版; 使用方法:...

    workflow-bpmn-modeler-jeecgboot V0.1.0

    Jeecg-Boot 是一个基于代码生成器的快速开发平台,它结合了Spring Boot、Mybatis Plus、Shiro、JWT、Vue.js等技术,为开发者提供了一站式的解决方案,简化了企业级应用的开发流程。而workflow-bpmn-modeler-jeecg...

    jeecg-boot,Jeecg-Boot 是一款基于代码生成器的快速开发平台!采用前后端分离架构:SpringBoot 2.x,Mybatis,Shiro,JWT,Vue&Ant; Design。强大的代码生成器让前端和后台代码一键生成,不需要写任何代码,绝对是全栈开发福音!! JeecgBoot 的宗旨是提高 UI 能力的同时,《联合报》、《联合报》等。.zip

    Jeecg-Boot 是一个强大的开源开发平台,其核心亮点在于其代码生成器,它可以帮助开发者快速构建基于前后端分离的现代企业级应用。该框架采用了一系列先进的技术和工具,如 SpringBoot 2.x、Mybatis、Shiro、JWT 和 ...

    jeecg-boot.zip

    JeecgBoot是基于代码生成器的智能快速开发平台,它整合了SpringBoot、MyBatisPlus、Shiro、JWT、Vue.js等热门框架和技术,实现了前后端分离,提供强大的代码生成器,可以自动生成各类代码,极大地减少了开发工作量。...

    jeecg3.6.6 版本 纯净版 已经测试过

    7. **集成众多流行技术**:Jeecg 框架集成了诸如MyBatis、Spring Boot、Shiro、JWT等主流的Java开发技术和框架,降低了学习成本,同时也保证了技术栈的先进性。 8. **数据字典管理**:Jeecg 提供了数据字典管理功能...

    jeecgboot集成jeecg-boot-activiti1

    本文档详细介绍了如何将Activiti 5.22.0版本集成到Jeecg Boot 2.4.2的环境中,以实现业务流程自动化管理。 1. **目标**:集成的主要目标是将Activiti与Jeecg Boot框架结合,利用Activiti强大的工作流功能,提升企业...

Global site tag (gtag.js) - Google Analytics