# 签名密码使用

# 1. 概述

签名密码指实际业务场景中操作者打开某一页面或执行某种操作前需要进行一次校验,成功校验后才可进行后续操作的一种密码。 本文主要讲解开发使用,策略配置详见签名密码策略, 修改签名密码详见修改签名密码, 签名密码加密、比对详见签名密码工具类, 管理员重置、解锁签名密码详见账号管理-重置、解锁签名密码

yml配置示例:

hos:
  signature: #签名密码相关配置
    password: #签名密码相关配置
      encode: BCRYPT                     #数据库中密码加密方式,默认BCRYPT。支持类型同登录密码配置。
      secret: 1234567890123456           #前后端密码传输SM4加密秘钥

# 2. restful接口

# 校验签名密码接口

接口地址:/api/sys/hos-user-account/validate-signature-password

请求方式:POST

请求数据类型:application/json

请求参数:

参数名称 参数说明 请求类型 是否必须 数据类型 schema
password 签名密码(需要做加密处理) query true string

请求参数加密处理示例:

对密码字段需要做传输加密处理:this.$m.crypt()

let pwdForm = {
    password: this.$m.crypt(this.dialogForm.password),
}
this.$api("base.sys-signature-password.validatePwd",pwdForm).then((res) => {
    if (res && res.code == "200") {
      if (res.data) {
        //校验成功后的业务逻辑
      } else {
        //校验失败处理
      }
    } else {
      // 请求失败处理
    }
});

响应参数:

参数名称 参数说明 类型
code 响应码 string
data true 代表校验成功,false代表校验失败 boolean
msg 错误信息 string
success 是否完成 boolean

响应示例:

{
	"code": "",
	"data": true,
	"msg": "",
	"success": true
}

提示

平台只提供签名密码的设置、配置及校验。业务方需要根据自身场景实现校验签名密码后的业务逻辑。