From 1305507bf4659fbd03924dfea7ae55b2aa7e88a2 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Sat, 22 Aug 2020 22:00:50 +0800
Subject: [PATCH] 终端设置新增明文安全码
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysClientDetails.java | 16 ++++++++++++++++
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysClientDetailsServiceImpl.java | 3 +++
ruoyi-ui/src/views/system/client/index.vue | 8 ++++----
sql/ry_20200822.sql | 5 +++--
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysClientDetailsController.java | 3 ---
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysClientDetailsMapper.xml | 6 +++++-
6 files changed, 31 insertions(+), 10 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysClientDetailsController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysClientDetailsController.java
index 5db6117..b6f21a9 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysClientDetailsController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysClientDetailsController.java
@@ -17,7 +17,6 @@
import com.ruoyi.common.core.web.page.TableDataInfo;
import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
-import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.domain.SysClientDetails;
import com.ruoyi.system.service.ISysClientDetailsService;
@@ -68,7 +67,6 @@
{
return AjaxResult.error("新增终端'" + clientId + "'失败,编号已存在");
}
- sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getClientSecret()));
return toAjax(sysClientDetailsService.insertSysClientDetails(sysClientDetails));
}
@@ -80,7 +78,6 @@
@PutMapping
public AjaxResult edit(@RequestBody SysClientDetails sysClientDetails)
{
- sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getClientSecret()));
return toAjax(sysClientDetailsService.updateSysClientDetails(sysClientDetails));
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysClientDetails.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysClientDetails.java
index 0606f85..b16c652 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysClientDetails.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysClientDetails.java
@@ -68,6 +68,11 @@
*/
private String autoapprove;
+ /**
+ * 终端明文安全码
+ */
+ private String originSecret;
+
public String getClientId()
{
return clientId;
@@ -178,6 +183,16 @@
this.autoapprove = autoapprove;
}
+ public String getOriginSecret()
+ {
+ return originSecret;
+ }
+
+ public void setOriginSecret(String originSecret)
+ {
+ this.originSecret = originSecret;
+ }
+
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -192,6 +207,7 @@
.append("refreshTokenValidity", getRefreshTokenValidity())
.append("additionalInformation", getAdditionalInformation())
.append("autoapprove", getAutoapprove())
+ .append("originSecret", getOriginSecret())
.toString();
}
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysClientDetailsServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysClientDetailsServiceImpl.java
index 383078d..4449dfd 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysClientDetailsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysClientDetailsServiceImpl.java
@@ -5,6 +5,7 @@
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.constant.CacheConstants;
+import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.domain.SysClientDetails;
import com.ruoyi.system.mapper.SysClientDetailsMapper;
import com.ruoyi.system.service.ISysClientDetailsService;
@@ -53,6 +54,7 @@
@Override
public int insertSysClientDetails(SysClientDetails sysClientDetails)
{
+ sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getOriginSecret()));
return sysClientDetailsMapper.insertSysClientDetails(sysClientDetails);
}
@@ -66,6 +68,7 @@
@CacheEvict(value = CacheConstants.CLIENT_DETAILS_KEY, key = "#sysClientDetails.clientId")
public int updateSysClientDetails(SysClientDetails sysClientDetails)
{
+ sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getOriginSecret()));
return sysClientDetailsMapper.updateSysClientDetails(sysClientDetails);
}
diff --git a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysClientDetailsMapper.xml b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysClientDetailsMapper.xml
index 8a07159..dfe0061 100644
--- a/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysClientDetailsMapper.xml
+++ b/ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysClientDetailsMapper.xml
@@ -16,10 +16,11 @@
<result property="refreshTokenValidity" column="refresh_token_validity" />
<result property="additionalInformation" column="additional_information" />
<result property="autoapprove" column="autoapprove" />
+ <result property="originSecret" column="origin_secret" />
</resultMap>
<sql id="selectSysClientDetailsVo">
- select client_id, resource_ids, client_secret, scope, authorized_grant_types, web_server_redirect_uri, authorities, access_token_validity, refresh_token_validity, additional_information, autoapprove from sys_oauth_client_details
+ select client_id, resource_ids, client_secret, scope, authorized_grant_types, web_server_redirect_uri, authorities, access_token_validity, refresh_token_validity, additional_information, autoapprove, origin_secret from sys_oauth_client_details
</sql>
<select id="selectSysClientDetailsList" parameterType="SysClientDetails" resultMap="SysClientDetailsResult">
@@ -48,6 +49,7 @@
<if test="refreshTokenValidity != null">refresh_token_validity,</if>
<if test="additionalInformation != null">additional_information,</if>
<if test="autoapprove != null">autoapprove,</if>
+ <if test="originSecret != null">origin_secret,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="clientId != null">#{clientId},</if>
@@ -61,6 +63,7 @@
<if test="refreshTokenValidity != null">#{refreshTokenValidity},</if>
<if test="additionalInformation != null">#{additionalInformation},</if>
<if test="autoapprove != null ">#{autoapprove},</if>
+ <if test="originSecret != null ">#{originSecret},</if>
</trim>
</insert>
@@ -77,6 +80,7 @@
<if test="refreshTokenValidity != null">refresh_token_validity = #{refreshTokenValidity},</if>
<if test="additionalInformation != null">additional_information = #{additionalInformation},</if>
<if test="autoapprove != null">autoapprove = #{autoapprove},</if>
+ <if test="originSecret != null">origin_secret = #{originSecret},</if>
</trim>
where client_id = #{clientId}
</update>
diff --git a/ruoyi-ui/src/views/system/client/index.vue b/ruoyi-ui/src/views/system/client/index.vue
index 773d4e8..e78870e 100644
--- a/ruoyi-ui/src/views/system/client/index.vue
+++ b/ruoyi-ui/src/views/system/client/index.vue
@@ -52,7 +52,7 @@
<el-table v-loading="loading" :data="clientList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="编号" align="center" prop="clientId" />
- <el-table-column label="安全码" align="center" prop="clientSecret" :show-overflow-tooltip="true" />
+ <el-table-column label="安全码" align="center" prop="originSecret" :show-overflow-tooltip="true" />
<el-table-column label="授权范围" align="center" prop="scope" />
<el-table-column label="授权类型" align="center" prop="authorizedGrantTypes" :show-overflow-tooltip="true" />
<el-table-column label="令牌时效" align="center" prop="accessTokenValidity" />
@@ -91,8 +91,8 @@
<el-form-item label="编号" prop="clientId">
<el-input v-model="form.clientId" placeholder="请输入编号" :disabled="!isAdd" />
</el-form-item>
- <el-form-item label="安全码" prop="clientSecret">
- <el-input v-model="form.clientSecret" placeholder="请输入安全码" />
+ <el-form-item label="安全码" prop="originSecret">
+ <el-input v-model="form.originSecret" placeholder="请输入安全码" />
</el-form-item>
<el-form-item label="授权范围" prop="scope">
<el-input v-model="form.scope" placeholder="请输入授权范围" />
@@ -155,7 +155,7 @@
clientId: [
{ required: true, message: "编号不能为空", trigger: "blur" }
],
- clientSecret: [
+ originSecret: [
{ required: true, message: "安全码不能为空", trigger: "blur" }
],
scope: [
diff --git a/sql/ry_20200822.sql b/sql/ry_20200822.sql
index 4fb3c08..5a5b170 100644
--- a/sql/ry_20200822.sql
+++ b/sql/ry_20200822.sql
@@ -696,11 +696,12 @@
refresh_token_validity int(11) default null comment '设定终端的refresh_token的有效时间值(秒)',
additional_information varchar(4096) default null comment '附加信息',
autoapprove tinyint(4) default null comment '是否登录时跳过授权',
+ origin_secret varchar(255) not null comment '终端明文安全码',
primary key (client_id)
) engine=innodb auto_increment=1 comment = '终端配置表';
-- ----------------------------
-- 初始化-终端配置表数据
-- ----------------------------
-insert into sys_oauth_client_details values ('web', '', '$2a$10$y2hKeELx.z3Sbz.kjQ4wmuiIsv5ZSbUQ1ov4BwFH6ccirP8Knp1uq', 'server', 'password,refresh_token', '', NULL, 3600, 7200, NULL, NULL);
-insert into sys_oauth_client_details values ('ruoyi', '', '$2a$10$y2hKeELx.z3Sbz.kjQ4wmuiIsv5ZSbUQ1ov4BwFH6ccirP8Knp1uq', 'server', 'password,client_credentials,refresh_token', '', NULL, 3600, 7200, NULL, NULL);
\ No newline at end of file
+insert into sys_oauth_client_details values ('web', '', '$2a$10$y2hKeELx.z3Sbz.kjQ4wmuiIsv5ZSbUQ1ov4BwFH6ccirP8Knp1uq', 'server', 'password,refresh_token', '', NULL, 3600, 7200, NULL, NULL, '123456');
+insert into sys_oauth_client_details values ('ruoyi', '', '$2a$10$y2hKeELx.z3Sbz.kjQ4wmuiIsv5ZSbUQ1ov4BwFH6ccirP8Knp1uq', 'server', 'password,client_credentials,refresh_token', '', NULL, 3600, 7200, NULL, NULL, '123456');
\ No newline at end of file
--
Gitblit v1.9.3