Merge branch '1.2.x' into 1.3.x
用户授权 1.2.4-RELEASE
diff --git a/ReleaseNotes.md b/ReleaseNotes.md
index b661a04..d4833a8 100644
--- a/ReleaseNotes.md
+++ b/ReleaseNotes.md
@@ -50,6 +50,57 @@
+### authx-service
+
+用户授权管理接口
+
+
+#### develop
+
+##### 1.3.0 (SNAPSHOT)
+
+chore: 升级版本,1.3.0-SNAPSHOT
+
+
+#### 1.2.x
+
+##### 1.2.5 (SNAPSHOT)
+
+chore: 升级版本 1.2.5-SNAPSHOT
+
+
+##### 1.2.4
+
+chore: 发布修复版本,1.2.4-RELEASE
+fix: 完善 uniauth 配置项
+chore: 升级版本 1.2.4-SNAPSHOT
+
+
+##### 1.2.3
+
+chore: 发布修复版本,1.2.3-RELEASE
+chore: 升级版本 1.2.3-SNAPSHOT
+
+
+##### 1.2.2
+
+chore: 发布修复版本,1.2.2-RELEASE
+chore: 升级版本 1.2.2-SNAPSHOT
+
+
+##### 1.2.1
+
+chore: 发布版本,1.2.1-RELEASE
+chore: 升级版本 1.2.1-SNAPSHOT
+
+
+##### 1.2.0
+
+chore: 发布版本,1.2.0-RELEASE
+……
+feat: #1, 初始化后端项目代码
+
+
### user-data-service
用户服务
@@ -85,8 +136,24 @@
#### 1.2.x
-##### 1.2.3 (SNAPSHOT)
+##### 1.2.5 (SNAPSHOT)
+chore: 升级版本 1.2.5-SNAPSHOT
+
+
+##### 1.2.4
+
+chore: 发布修复版本,1.2.4-RELEASE
+chore: 升级版本 1.2.4-SNAPSHOT
+
+
+##### 1.2.3
+
+chore: 发布修复版本,1.2.3-RELEASE
+feat: 更新poa api-docs,新增查询条件 身份(支持多值)
+feat: 用户列表接口,新增查询条件 身份(支持多值)
+fix: 修正poa-docs,缺少接口参数
+feat: 支持部署时,通过接口执行 sql
chore: 升级版本 1.2.3-SNAPSHOT
@@ -475,8 +542,22 @@
#### 1.2.x
-##### 1.2.3 (SNAPSHOT)
+##### 1.2.5 (SNAPSHOT)
+chore: 升级版本 1.2.5-SNAPSHOT
+
+
+##### 1.2.4
+
+chore: 发布修复版本,1.2.4-RELEASE
+fix: 修正授权服务,同步数据的触发器逻辑
+chore: 升级版本 1.2.4-SNAPSHOT
+
+
+##### 1.2.3
+
+chore: 发布修复版本,1.2.3-RELEASE
+feat: 支持部署时,通过接口执行 sql
chore: 升级版本 1.2.3-SNAPSHOT
@@ -1289,8 +1370,23 @@
#### 1.2.x
-##### 1.2.3 (SNAPSHOT)
+##### 1.2.5 (SNAPSHOT)
+chore: 升级版本 1.2.5-SNAPSHOT
+
+
+##### 1.2.4
+
+chore: 发布修复版本,1.2.4-RELEASE
+fix: 统一 EncodeUtils 代码,与 user-data-service 保持一致
+fix: 验证码验证,提示语优化(BUG #163099)、支持安全手机、安全邮箱重复绑定(BUG #162356)
+fix: 获取当前用户的安全信息接口 - 返回新增安全密码得分
+chore: 升级版本 1.2.4-SNAPSHOT
+
+
+##### 1.2.3
+
+chore: 发布修复版本,1.2.3-RELEASE
chore: 升级版本 1.2.3-SNAPSHOT
@@ -1592,8 +1688,24 @@
#### 1.2.x
-##### 1.2.3 (SNAPSHOT)
+##### 1.2.5 (SNAPSHOT)
+chore: 升级版本 1.2.5-SNAPSHOT
+
+
+##### 1.2.4
+
+chore: 发布修复版本,1.2.4-RELEASE
+feat: 钉钉绑定解绑
+chore: 升级版本 1.2.4-SNAPSHOT
+
+
+##### 1.2.3
+
+chore: 发布修复版本,1.2.3-RELEASE
+fix: 修改验证显示信息
+fix: 登录密码修改
+feat:新增成都理工logo
chore: 升级版本 1.2.3-SNAPSHOT
diff --git "a/deploy-manifests/k8s-rancher/0.1.2.\350\256\244\350\257\201\346\216\210\346\235\203\346\234\215\345\212\241\345\215\207\347\272\247\346\226\207\346\241\243\357\274\210V1.0-V1.2\357\274\211.md" "b/deploy-manifests/k8s-rancher/0.1.2.\350\256\244\350\257\201\346\216\210\346\235\203\346\234\215\345\212\241\345\215\207\347\272\247\346\226\207\346\241\243\357\274\210V1.0-V1.2\357\274\211.md"
index 19c7bf0..9590b2e 100644
--- "a/deploy-manifests/k8s-rancher/0.1.2.\350\256\244\350\257\201\346\216\210\346\235\203\346\234\215\345\212\241\345\215\207\347\272\247\346\226\207\346\241\243\357\274\210V1.0-V1.2\357\274\211.md"
+++ "b/deploy-manifests/k8s-rancher/0.1.2.\350\256\244\350\257\201\346\216\210\346\235\203\346\234\215\345\212\241\345\215\207\347\272\247\346\226\207\346\241\243\357\274\210V1.0-V1.2\357\274\211.md"
@@ -33,6 +33,8 @@
12. 修改 Secret jobs-server/rabbitmq-env-secret , 将 SPRING_RABBITMQ_HOST 修改为 rabbitmq-server.authx-service.svc.cluster.local
+13. 新增 Secret token-server/rabbitmq-env-secret
+14. 修改 Deployment token-server/token-server, 增加 环境变量 secretRef rabbitmq-env-secret
13. 变更 CronJob user-data-service/user-data-service-datax-job 的定时 schedule 为 `30 */4 * * *`
14. 变更 CronJob user-authorization-service/user-authorization-datax-job 的定时 schedule 为 `30 */4 * * *`
@@ -48,9 +50,7 @@
## 升级说明
-1. 将 工作负载 下的服务 升级到 1.2.x 版本
-
-2. 数据库脚本进行升级
+1. 数据库脚本进行升级
重新执行 Job user-data-service/user-data-service-installer
@@ -60,41 +60,41 @@
重新执行 Job token-server/token-server-installer
-3. 部署 StatefulSet authx-service/redis-server , Deployment authx-service/rabbitmq-server
+2. 部署 StatefulSet authx-service/redis-server , Deployment authx-service/rabbitmq-server
部署yaml 位于 1.authx-service/0.authx-service/0.authx-service-base.yaml, 1.authx-service/0.authx-service/1.authx-service-env.yaml
-4. 部署 Deployment authx-service/authx-service-bff
+3. 部署 Deployment authx-service/authx-service-bff
部署yaml 位于 1.authx-service/0.authx-service/4.4.authx-service-bff.yaml
-5. Secret user-data-service/rabbitmq-env-secret , 修改 SPRING_RABBITMQ_HOST
+4. Secret user-data-service/rabbitmq-env-secret , 修改 SPRING_RABBITMQ_HOST
```
SPRING_RABBITMQ_HOST: rabbitmq-server.authx-service.svc.cluster.local
```
-6. Secret user-authorization-service/rabbitmq-env-secret , 修改 SPRING_RABBITMQ_HOST
+5. Secret user-authorization-service/rabbitmq-env-secret , 修改 SPRING_RABBITMQ_HOST
```
SPRING_RABBITMQ_HOST: rabbitmq-server.authx-service.svc.cluster.local
```
-7. Secret jobs-server/rabbitmq-env-secret , 修改 SPRING_RABBITMQ_HOST
+6. Secret jobs-server/rabbitmq-env-secret , 修改 SPRING_RABBITMQ_HOST
```
SPRING_RABBITMQ_HOST: rabbitmq-server.authx-service.svc.cluster.local
```
-8. Deployment user-data-service/user-data-service-biz 下的环境变量中,引用其他资源,添加附加资源 Secret rabbitmq-env-secret
+7. Deployment user-data-service/user-data-service-biz 下的环境变量中,引用其他资源,添加附加资源 Secret rabbitmq-env-secret
-9. ConfigMap user-data-service/user-data-service-goa-env 下,更新 JOBS_RABBITMQ 相关的配置
+8. ConfigMap user-data-service/user-data-service-goa-env 下,更新 JOBS_RABBITMQ 相关的配置
```
JOBS_RABBITMQ_HOST: rabbitmq-server.authx-service.svc.cluster.local
```
-10. ConfigMap user-authorization-service/user-authorization-sa-env 下,新增 USER_AUTHORIZATION_SA_USER_RABBITMQ 相关的配置
+9. ConfigMap user-authorization-service/user-authorization-sa-env 下,新增 USER_AUTHORIZATION_SA_USER_RABBITMQ 相关的配置
```
USER_AUTHORIZATION_SA_USER_RABBITMQ_CONSUMER_ENABLED: "false"
@@ -104,7 +104,13 @@
USER_AUTHORIZATION_SA_USER_RABBITMQ_PASSWORD: guest
```
-11. 修改 x-datax-job 的定时策略
+10. 新增 Secret token-server/rabbitmq-env-secret
+
+ 部署yaml 位于 5.token-server/1.token-server-env.yaml
+
+11. 修改 Deployment token-server/token-server, 增加 环境变量 secretRef rabbitmq-env-secret
+
+12. 修改 x-datax-job 的定时策略
CronJob user-data-service/user-data-service-datax-job 下,修改 schedule 为 `30 */4 * * *`
@@ -112,7 +118,11 @@
CronJob CronJob cas-server/cas-server-datax-job 下,修改 schedule 为 `5 */2 * * *`
-12. 更新 POA 的 api-docs
+
+13. 将 工作负载 下的服务 升级到 1.2.x 版本
+
+
+14. 更新 POA 的 api-docs
执行 Job user-data-service/api-docs-installer
@@ -123,7 +133,41 @@
## 初始化脚本
-1. 更新 接口路由、应用、菜单、角色权限
+1. 整理 授权服务、云平台管理 下的角色
+
+ **检查 授权服务下的 以下角色 的 APPLICATION_ID 已经更新为 10**
+
+ 在 user_authz 的 TB_ROLE 表中
+
+ 确保 cas-admin, user-admin, user-authz-admin, user-authz-grant-admin, user-authz-man-grant-admin 只有一条记录
+
+ 若 存在 与 上述代码 重复的角色,则删除 APPLICATION_ID = 1 且 ID 不为 20, 30, 40, 41, 42 的 相关角色。
+
+ 同时,在 admin_center 的 TB_MGT_ROLE 表中
+
+ 删除 ID 不为 20, 30, 40, 41, 42 的 相关角色。
+
+ ```sql
+ use user_authz;
+
+ -- 检查 授权服务下的 以下角色 的 APPLICATION_ID 已经更新为 10
+ UPDATE TB_ROLE SET APPLICATION_ID='10' WHERE ID='20';
+
+ UPDATE TB_ROLE SET APPLICATION_ID='10' WHERE ID='30';
+
+ UPDATE TB_ROLE SET APPLICATION_ID='10' WHERE ID='40';
+ UPDATE TB_ROLE SET APPLICATION_ID='10' WHERE ID='41';
+ UPDATE TB_ROLE SET APPLICATION_ID='10' WHERE ID='42';
+
+ use admin_center;
+
+ -- 删除认证授权的角色
+ delete from TB_MGT_ROLE where ID in ('20', '30', '40','41','42');
+
+ commit;
+ ```
+
+2. 更新 接口路由、应用、菜单、角色权限
注:如果已经存在,请忽略
@@ -172,7 +216,7 @@
;
insert into TB_MGT_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, ICON, URL, APPLICATION_ID, PARENT_ID, ORDER_, LEVEL_, LFT, RGT)
- values ('20650', 0, 'casConfig', '认证对接配置', '1', '2', 'el-icon-service', '/cas-server/casConfig', '10', '20000', 20650, 2, 35, 36);
+ values ('20650', 0, 'casConfig', '认证对接配置', '0', '2', 'el-icon-service', '/cas-server/casConfig', '10', '20000', 20650, 2, 35, 36);
insert into TB_MGT_PERMISSION (ID, DELETED, CODE, NAME, STATUS, TYPE_, ICON, URL, APPLICATION_ID, PARENT_ID, ORDER_, LEVEL_, LFT, RGT)
values ('20700', 0, 'loginPageConfig', '登录页面配置', '1', '2', 'su-icon-tongxunxinxi', '/cas-server/loginPageConfig', '10', '20000', 20700, 2, 37, 38);
diff --git a/deploy-manifests/k8s-rancher/1.authx-service/0.authx-service/4.4.authx-service-bff.yaml b/deploy-manifests/k8s-rancher/1.authx-service/0.authx-service/4.4.authx-service-bff.yaml
index 154ee73..ce70c93 100644
--- a/deploy-manifests/k8s-rancher/1.authx-service/0.authx-service/4.4.authx-service-bff.yaml
+++ b/deploy-manifests/k8s-rancher/1.authx-service/0.authx-service/4.4.authx-service-bff.yaml
@@ -29,6 +29,10 @@
SPRING_REDIS_JEDIS_POOL_MINIDLE: "100"
+ UNIAUTH_BASIC_AUTH_USERNAME: saadmin
+ UNIAUTH_BASIC_AUTH_PASSWORD: saadminfoobar
+
+
CASSERVER_SA_API_SERVER_URL: http://cas-server-sa-api-svc.cas-server.svc.cluster.local:8080
CASSERVER_SA_API_CLIENT_AUTH_ENABLED: "false"
#CASSERVER_SA_API_CLIENT_AUTH_KEY_PASSWORD: ""
@@ -53,6 +57,14 @@
#USER_AUTHZ_SERVICE_CLIENT_AUTH_TRUSTSTORE_FILE: file:/certs/common/common.truststore
#USER_AUTHZ_SERVICE_CLIENT_AUTH_TRUSTSTORE_PASSWORD: ""
+ UNIAUTH_SERVER_SA_API_SERVER_URL: http://uniauth-prod-backend.uniauth.svc.cluster.local:9090
+ UNIAUTH_SERVER_SA_API_CLIENT_AUTH_ENABLED: "false"
+ #UNIAUTH_SERVER_SA_API_CLIENT_AUTH_KEY_PASSWORD: ""
+ #UNIAUTH_SERVER_SA_API_CLIENT_AUTH_KEYSTORE_FILE: file:/certs/common/common.keystore
+ #UNIAUTH_SERVER_SA_API_CLIENT_AUTH_KEYSTORE_PASSWORD: ""
+ #UNIAUTH_SERVER_SA_API_CLIENT_AUTH_TRUSTSTORE_FILE: file:/certs/common/common.truststore
+ #UNIAUTH_SERVER_SA_API_CLIENT_AUTH_TRUSTSTORE_PASSWORD: ""
+
TPAS_FILE_API_URL: http://agent-service-svc.thirdparty-agent-service.svc.cluster.local:8080/api/v1/tpas/file/minio
TPAS_CLIENT_AUTH_ENABLED: "false"
diff --git "a/docs/\344\272\247\345\223\201\351\203\250\347\275\262\344\271\213\344\270\255\345\217\260\346\234\215\345\212\241\345\257\271\346\216\245\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\347\233\270\345\205\263\346\216\245\345\217\243\347\232\204\350\257\264\346\230\216.md" "b/docs/\344\272\247\345\223\201\351\203\250\347\275\262\344\271\213\344\270\255\345\217\260\346\234\215\345\212\241\345\257\271\346\216\245\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\347\233\270\345\205\263\346\216\245\345\217\243\347\232\204\350\257\264\346\230\216.md"
new file mode 100644
index 0000000..010e8b7
--- /dev/null
+++ "b/docs/\344\272\247\345\223\201\351\203\250\347\275\262\344\271\213\344\270\255\345\217\260\346\234\215\345\212\241\345\257\271\346\216\245\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\347\233\270\345\205\263\346\216\245\345\217\243\347\232\204\350\257\264\346\230\216.md"
@@ -0,0 +1,297 @@
+
+# 产品部署之中台服务对接数据初始化相关接口的说明
+
+[TOC]
+
+## 说明
+
+本文档,为中台产品在部署时,提供对接数据初始化的相关接口
+
+主要涉及:
+
+1. CAS认证,创建 Servcie
+
+1. 授权服务,创建 应用,应用角色
+
+1. 云平台菜单,创建 应用,菜单,角色权限的关联
+
+
+## 数据初始化接口说明
+
+### CAS认证
+
+**采用 sql 文件执行接口进行部署**
+
+版本要求:1.2.2
+
+* 部署接口
+
+```bash
+curl -i -s -X POST \
+ -H 'Content-Type: text/plain' \
+ --data-binary @cas_server_integrate.sql \
+ 'http://cas-server-sa.cas-server.svc.cluster.local:8080/deploy/execSql'
+```
+
+* SQL脚本示例
+
+cas_server_integrate.sql
+```sql
+-- Service 的创建
+INSERT INTO TB_SERVICE (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME,
+ NAME, DESCRIPTION, INFORMATION_URL, LOGOUT_URL,
+ RESPONSE_TYPE, LOGOUT_TYPE,
+ EVALUATION_ORDER, FRIENDLY_NAME, REGISTERED_SERVICE_ID, SERVICE_ID,
+ ENABLED, SSO_ENABLED, REQUIRE_ALL_ATTRIBUTES,
+ ID_TOKEN_ENABLED, JWT_AS_SERVICE_TICKET, ADAPT_V4_PRODUCT,
+ APPLICATION_ID, APPLICATION_DOMAIN, EXTERNAL_ID)
+VALUES ('0', '1', 0, 'admin', null,
+ '示例', '示例', 'https://example.com', 'https://example.com/slo',
+ 'REDIRECT', 'FRONT_CHANNEL',
+ 0, '示例', 0, 'https://example.com/(.*)',
+ 1, 1, 1,
+ 0, 0, 0,
+ '0', 'example.com', '0');
+
+commit;
+```
+
+> 说明
+
+修改 ID、EVALUATION_ORDER、REGISTERED_SERVICE_ID、APPLICATION_ID、EXTERNAL_ID,应用的ID、标识等
+
+修改 NAME、DESCRIPTION、FRIENDLY_NAME,应用的名称
+
+修改 ID_TOKEN_ENABLED、JWT_AS_SERVICE_TICKET,1 启用,0 禁用
+
+修改 INFORMATION_URL、LOGOUT_URL、SERVICE_ID、APPLICATION_DOMAIN,相关地址、域名修改
+
+> TB_SERVICE
+
+字段名 | 字段说明
+- | -
+ID | 确保唯一性
+COMPANY_ID | 固定为 1
+DELETED | 是否删除,固定为 0
+ADD_ACCOUNT | 创建帐号
+ADD_TIME | 创建时间,建议为 null;如必要,可填入时间
+- | -
+NAME | 应用名称
+DESCRIPTION | 描述
+INFORMATION_URL | 应用的访问地址
+LOGOUT_URL | 应用的前端注销地址
+RESPONSE_TYPE | 登录成功后的响应方式,固定为 REDIRECT
+LOGOUT_TYPE | 单点注销方式,固定为 FRONT_CHANNEL
+EVALUATION_ORDER | 优先级
+FRIENDLY_NAME | 同 应用名称
+REGISTERED_SERVICE_ID | 唯一ID,整型
+SERVICE_ID | 应用匹配规则,确保前缀与对接时的 service 相匹配
+ENABLED | 是否启用
+SSO_ENABLED | 是否支持单点登录
+REQUIRE_ALL_ATTRIBUTES | 固定为 true
+ID_TOKEN_ENABLED | 是否返回 ID Token,方便公司内产品的前端,调用后端接口
+JWT_AS_SERVICE_TICKET | 是否返回 JWT 格式的票据,便于纯前端项目对接
+ADAPT_V4_PRODUCT | 是否适配认证V4,用于兼容公司历史版本的认证
+APPLICATION_ID | 应用标识,与 ID 保持一致
+APPLICATION_DOMAIN | 应用域,使用访问地址中的 域名
+EXTERNAL_ID | 外部ID(预留),与 ID 保持一致
+
+
+### 授权服务
+
+**采用 sql 文件执行接口进行部署**
+
+版本要求:1.2.3
+
+
+* 部署接口
+
+```bash
+curl -i -s -X POST \
+ -H 'Content-Type: text/plain' \
+ --data-binary @user_authz_integrate.sql \
+ 'http://authx-service-user-authz-service-sa.authx-service.svc.cluster.local:8080/deploy/execSql'
+```
+
+* SQL脚本示例
+
+user_authz_integrate.sql
+```sql
+-- 应用的创建脚本
+INSERT INTO TB_R_SYSTEM (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME,
+ BUSINESS_DOMAIN_ID,
+ CODE, NAME, ENABLED)
+VALUES ('0', '1', 0, 'init', null,
+ '1',
+ '0', '示例系统', 1);
+
+INSERT INTO TB_APPLICATION (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME,
+ BUSINESS_DOMAIN_ID, SYSTEM_ID,
+ NAME, APPLICATION_ID, SYNC_URL, ENABLED)
+VALUES ('0', '1', 0, 'init', null,
+ '1', '0',
+ '示例应用', '0', '', 1);
+
+commit;
+
+-- 应用角色的创建脚本
+INSERT INTO TB_ROLE (ID, COMPANY_ID, DELETED, ADD_ACCOUNT, ADD_TIME,
+ APPLICATION_ID, CODE, NAME, DESCRIPTION, ENABLED, EXTERNAL_ID)
+VALUES ('0', '1', 0, 'init', null,
+ '0', 'example-admin', '示例管理员', '示例管理员', 1, '0');
+
+commit;
+```
+
+> TB_R_SYSTEM
+
+字段名 | 字段说明
+- | -
+ID | 确保唯一性
+COMPANY_ID | 固定为 1
+DELETED | 是否删除,固定为 0
+ADD_ACCOUNT | 创建帐号
+ADD_TIME | 创建时间,建议为 null;如必要,可填入时间
+- | -
+BUSINESS_DOMAIN_ID | 所属业务域,暂时固定为 1
+CODE | 系统代码
+NAME | 系统名称
+ENABLED | 是否启用(1 启用,0 禁用)
+
+
+> TB_APPLICATION
+
+字段名 | 字段说明
+- | -
+ID | 确保唯一性
+COMPANY_ID | 固定为 1
+DELETED | 是否删除,固定为 0
+ADD_ACCOUNT | 创建帐号
+ADD_TIME | 创建时间,建议为 null;如必要,可填入时间
+- | -
+BUSINESS_DOMAIN_ID | 所属业务域,暂时固定为 1
+SYSTEM_ID | 所属系统,同 TB_R_SYSTEM 的 ID
+NAME | 应用名称
+APPLICATION_ID | 应用标识,可以与 ID 保持一致
+SYNC_URL | 角色数据的同步接口。若不需要,可以为空
+ENABLED | 是否启用(1 启用,0 禁用)
+
+
+> TB_ROLE
+
+字段名 | 字段说明
+- | -
+ID | 确保唯一性
+COMPANY_ID | 固定为 1
+DELETED | 是否删除,固定为 0
+ADD_ACCOUNT | 创建帐号
+ADD_TIME | 创建时间,建议为 null;如必要,可填入时间
+- | -
+APPLICATION_ID | 所属应用,同 TB_APPLICATION 的 ID
+CODE | 角色代码
+NAME | 角色名称
+DESCRIPTION | 角色描述
+ENABLED | 是否启用(1 启用,0 禁用)
+EXTERNAL_ID | 对应所在应用内的数据的ID
+
+
+
+### 云平台菜单
+
+**采用业务管理接口进行部署**
+
+版本要求:1.2.0
+
+* 部署接口
+
+> 创建应用
+
+```bash
+curl -i -s -X POST \
+ -H 'Content-Type: application/json' \
+ -d '{"id": "0", "code": "0", "name":"示例", "memo":"示例", "status":"1", "url":""}' \
+ 'http://admin-platform-admin-center-sa.admin-platform.svc.cluster.local:8080/v1/admin/applications'
+```
+
+> 导入菜单
+
+```bash
+curl -i -s -X POST \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "applicationId": "0",
+ "menuList":
+ [
+ {
+ "id": "0-10000", "parentIdOrCode":"1", "code": "example-10000", "name": "示例一级", "memo": "", "status": "1",
+ "icon": "", "origin": "http://admin-platform.paas.xxx.edu.cn", "url": "/", "target": "",
+ "order": 10000, "resourceIdOrCodes": []
+ },
+ {
+ "id": "0-10100", "parentIdOrCode":"0-10000", "code": "example-10100", "name": "示例二级", "memo": "", "status": "1",
+ "icon": "su-icon-denglupeizhi", "origin": "http://admin-platform.paas.xxx.edu.cn", "url": "/example/example-10100", "target": "",
+ "order": 10100, "resourceIdOrCodes": []
+ },
+ ……
+ ]
+}' \
+ 'http://admin-platform-admin-center-sa.admin-platform.svc.cluster.local:8080/v1/admin/menus/importMenu'
+```
+
+> 角色权限(关联菜单)
+
+```bash
+curl -i -s -X POST \
+ -H 'Content-Type: application/json' \
+ -d '{
+ "rolePermissionList":
+ [
+ {
+ "roleId": "0", "roleCode":"example-admin",
+ "permissionIdOrCodes": ["0-10000", "0-10100"]
+ },
+ ……
+ ]
+}' \
+ 'http://admin-platform-admin-center-sa.admin-platform.svc.cluster.local:8080/v1/admin/rolePermissions/importRolePermission'
+```
+
+* 接口 属性说明
+
+> 应用的属性说明
+
+属性名 | 说明
+- | -
+id | 确保唯一性
+code | 应用标识,与 id 保持一致
+name | 应用名称
+memo | 描述
+status | 状态(1 启用,0 停用)
+
+
+> 菜单的属性说明
+
+属性名 | 说明
+- | -
+id | 确保唯一性
+parentIdOrCode | 上级菜单的ID 或 代码
+code | 菜单代码
+name | 菜单名称
+memo | 描述
+status | 状态(1 启用,0 停用)
+icon | 图标 CSS 名
+origin | 归属域名,一般为 admin-platform 的域名
+url | 菜单地址、路由
+target | 打开方式,空 表示当前窗口直接打开;iframe 表示在iframe中打开
+order | 排序
+resourceIdOrCodes | 关联的资源(后端接口)的ID 或 代码。数组,可以为空
+
+
+> 角色权限的属性说明
+
+属性名 | 说明
+- | -
+roleId | 角色ID
+roleCode | 角色代码
+permissionIdOrCodes | 关联的菜单的ID 或 代码。数组
+
diff --git "a/docs/\344\272\247\345\223\201\351\203\250\347\275\262\344\271\213\344\270\255\345\217\260\346\234\215\345\212\241\345\257\271\346\216\245\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\347\233\270\345\205\263\346\216\245\345\217\243\347\232\204\350\257\264\346\230\216.pdf" "b/docs/\344\272\247\345\223\201\351\203\250\347\275\262\344\271\213\344\270\255\345\217\260\346\234\215\345\212\241\345\257\271\346\216\245\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\347\233\270\345\205\263\346\216\245\345\217\243\347\232\204\350\257\264\346\230\216.pdf"
new file mode 100644
index 0000000..3d3313b
--- /dev/null
+++ "b/docs/\344\272\247\345\223\201\351\203\250\347\275\262\344\271\213\344\270\255\345\217\260\346\234\215\345\212\241\345\257\271\346\216\245\346\225\260\346\215\256\345\210\235\345\247\213\345\214\226\347\233\270\345\205\263\346\216\245\345\217\243\347\232\204\350\257\264\346\230\216.pdf"
Binary files differ