# 后台手册

# 用户中心

TIP

  • 用户中心解决不同单点登录问题
  • 目前集成的是本地登录模式

# 扩展用户中心

  • 1、新建实现类

TIP

  • 到这一步实现对接单点,其他数据基本返回组装由工厂去加工处理,从而无需在做任何基础操作
  • 2、定义配置

TIP

  • 代码自定义了单点类型之后,则需要定义单点类型配置

TIP

  • 截至这一步骤上,后端单点对接以及配置实现完成,非常简单便捷

# 获取用户基本信息

  • 引入maven
  <dependency>
      <artifactId>framework-starter-security</artifactId>
      <groupId>com.fast4cloud</groupId>
  </dependency>
1
2
3
4
  • 加入启动注解
@EnableWebMvcConfigurer
1
  • 控制层引入注解
 @SsoUserInfo SsoUserInfoDto ssoInfoDto
1

TIP

  • 通过上述操作可以快速获取到用户基本信息

# 前端使用单点

TIP

  • 前端操作也非常简单

# 权限注解

# @RequiresMenu注解

TIP

  • 注解用于配置接口要求用户拥有某(些)角色才可访问

示例

@RequiresMenu({"system:sysconfig:list"})
1

# 图片上传

TIP

  • 支持可扩展模式
  • 目前集成本地图片上传以及腾讯对象存储上传

# 图片上传扩展模式

  • 后端代码实现
  • 配置文件定义

# 代码生成工具

  • 强大的实体和DTO之间转换
  • 代码生成集成有

TIP

  • 请求和响应体的dto实体,以及请求和响应实体和dao层之间的bean相互转换
  • 集成swagger-ui
  • 导出接口
  • log日志打印注解

# 脱敏设置

### 脱敏参考示例 - 身份证脱敏
  {
	"rules": {
		"idcard": {
			"match_rule": "[0-9]{17}[0-9Xx]{1}",
			"regexp_from": "(.{1})(.{3})(.{8})(.*)(.{1})",
			"regexp_next": "$1***$3*****$5"
		}
	}
}
1
2
3
4
5
6
7
8
9
  • 姓名脱敏
 {
	"rules": {
		"name": {
			"match_rule": "[0-9]{17}[0-9Xx]{1}",
			"regexp_from": "(.{1})(.{3})(.{8})(.*)(.{1})",
			"regexp_next": "$1***$3*****$5"
		}
	}
}
1
2
3
4
5
6
7
8
9
  • 手机号
 {
	"rules": {

		"phone": {
			"regexp_next": "$1****$3",
			"regexp_from": "([0-9]{3})([0-9]*)([0-9]{4})",
			"match_rule": "(1[0-9]{10})|^0[0-9]{2,3}-?[0-9]{7,8}$"
		}
	}
}
1
2
3
4
5
6
7
8
9
10
  • 邮箱
 {
	"rules": {

		"email": {
			"regexp_next": "$1***@",
			"regexp_from": "(.{3})(.*)@",
			"match_rule": "[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+"
		}
	}
}
1
2
3
4
5
6
7
8
9
10
  • 银行卡号
 {
	"rules": {

		"bankcard": {
			"regexp_next": "$1***$3",
			"regexp_from": "(.{6})(.*)(.{4})",
			"match_rule": "([0-9]{16})|([0-9]{19})"
		}
	}
}
1
2
3
4
5
6
7
8
9
10
  • 多个脱敏字段组合使用
 {
	"rules": {
		"name": {
			"match_rule": "[0-9]{17}[0-9Xx]{1}",
			"regexp_from": "(.{1})(.{3})(.{8})(.*)(.{1})",
			"regexp_next": "$1***$3*****$5"
		},
		"phone": {
			"regexp_next": "$1****$3",
			"regexp_from": "([0-9]{3})([0-9]*)([0-9]{4})",
			"match_rule": "(1[0-9]{10})|^0[0-9]{2,3}-?[0-9]{7,8}$"
		}
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 接口传输加解密

# 网关开启加解密

TIP

  • 前后端加解密采用sm2和sm4进行加解密操作,符合国家信创要求
  • 网关gateway 配置文件开启加密
  • 前端开启加密

# 多场景加解密

TIP

  • 场景如下:
    • post请求文件下载时,请求参数加密,响应体不加密
    • 对接第三方回调接口时,无需进行参数加解密操作
    • 针对以上场景,做了如下配置调整
      encryptions:
      #model类型有:RESPONSE请求加密,但响应不加密,REQUEST,请求不加密,意味着这个接口都不加密,ALL:请求和响应都加密
      - model: RESPONSE
        urls:
          - /fast-gateway/**/**/export
1
2
3
4
5
Last Updated: 10/1/2023, 9:18:56 PM