Просмотр исходного кода

终端设置新增明文安全码

RuoYi лет назад: 5
Родитель
Сommit
1305507bf4

+ 0 - 3
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysClientDetailsController.java

@@ -17,7 +17,6 @@ import com.ruoyi.common.core.web.domain.AjaxResult;
17
 import com.ruoyi.common.core.web.page.TableDataInfo;
17
 import com.ruoyi.common.core.web.page.TableDataInfo;
18
 import com.ruoyi.common.log.annotation.Log;
18
 import com.ruoyi.common.log.annotation.Log;
19
 import com.ruoyi.common.log.enums.BusinessType;
19
 import com.ruoyi.common.log.enums.BusinessType;
20
-import com.ruoyi.common.security.utils.SecurityUtils;
21
 import com.ruoyi.system.domain.SysClientDetails;
20
 import com.ruoyi.system.domain.SysClientDetails;
22
 import com.ruoyi.system.service.ISysClientDetailsService;
21
 import com.ruoyi.system.service.ISysClientDetailsService;
23
 
22
 
@@ -68,7 +67,6 @@ public class SysClientDetailsController extends BaseController
68
         {
67
         {
69
             return AjaxResult.error("新增终端'" + clientId + "'失败,编号已存在");
68
             return AjaxResult.error("新增终端'" + clientId + "'失败,编号已存在");
70
         }
69
         }
71
-        sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getClientSecret()));
72
         return toAjax(sysClientDetailsService.insertSysClientDetails(sysClientDetails));
70
         return toAjax(sysClientDetailsService.insertSysClientDetails(sysClientDetails));
73
     }
71
     }
74
 
72
 
@@ -80,7 +78,6 @@ public class SysClientDetailsController extends BaseController
80
     @PutMapping
78
     @PutMapping
81
     public AjaxResult edit(@RequestBody SysClientDetails sysClientDetails)
79
     public AjaxResult edit(@RequestBody SysClientDetails sysClientDetails)
82
     {
80
     {
83
-        sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getClientSecret()));
84
         return toAjax(sysClientDetailsService.updateSysClientDetails(sysClientDetails));
81
         return toAjax(sysClientDetailsService.updateSysClientDetails(sysClientDetails));
85
     }
82
     }
86
 
83
 

+ 16 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysClientDetails.java

@@ -68,6 +68,11 @@ public class SysClientDetails extends BaseEntity
68
      */
68
      */
69
     private String autoapprove;
69
     private String autoapprove;
70
 
70
 
71
+    /**
72
+     * 终端明文安全码
73
+     */
74
+    private String originSecret;
75
+
71
     public String getClientId()
76
     public String getClientId()
72
     {
77
     {
73
         return clientId;
78
         return clientId;
@@ -178,6 +183,16 @@ public class SysClientDetails extends BaseEntity
178
         this.autoapprove = autoapprove;
183
         this.autoapprove = autoapprove;
179
     }
184
     }
180
 
185
 
186
+    public String getOriginSecret()
187
+    {
188
+        return originSecret;
189
+    }
190
+
191
+    public void setOriginSecret(String originSecret)
192
+    {
193
+        this.originSecret = originSecret;
194
+    }
195
+
181
     @Override
196
     @Override
182
     public String toString() {
197
     public String toString() {
183
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
198
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -192,6 +207,7 @@ public class SysClientDetails extends BaseEntity
192
             .append("refreshTokenValidity", getRefreshTokenValidity())
207
             .append("refreshTokenValidity", getRefreshTokenValidity())
193
             .append("additionalInformation", getAdditionalInformation())
208
             .append("additionalInformation", getAdditionalInformation())
194
             .append("autoapprove", getAutoapprove())
209
             .append("autoapprove", getAutoapprove())
210
+            .append("originSecret", getOriginSecret())
195
             .toString();
211
             .toString();
196
     }
212
     }
197
 }
213
 }

+ 3 - 0
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysClientDetailsServiceImpl.java

@@ -5,6 +5,7 @@ import org.springframework.beans.factory.annotation.Autowired;
5
 import org.springframework.cache.annotation.CacheEvict;
5
 import org.springframework.cache.annotation.CacheEvict;
6
 import org.springframework.stereotype.Service;
6
 import org.springframework.stereotype.Service;
7
 import com.ruoyi.common.core.constant.CacheConstants;
7
 import com.ruoyi.common.core.constant.CacheConstants;
8
+import com.ruoyi.common.security.utils.SecurityUtils;
8
 import com.ruoyi.system.domain.SysClientDetails;
9
 import com.ruoyi.system.domain.SysClientDetails;
9
 import com.ruoyi.system.mapper.SysClientDetailsMapper;
10
 import com.ruoyi.system.mapper.SysClientDetailsMapper;
10
 import com.ruoyi.system.service.ISysClientDetailsService;
11
 import com.ruoyi.system.service.ISysClientDetailsService;
@@ -53,6 +54,7 @@ public class SysClientDetailsServiceImpl implements ISysClientDetailsService
53
     @Override
54
     @Override
54
     public int insertSysClientDetails(SysClientDetails sysClientDetails)
55
     public int insertSysClientDetails(SysClientDetails sysClientDetails)
55
     {
56
     {
57
+        sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getOriginSecret()));
56
         return sysClientDetailsMapper.insertSysClientDetails(sysClientDetails);
58
         return sysClientDetailsMapper.insertSysClientDetails(sysClientDetails);
57
     }
59
     }
58
 
60
 
@@ -66,6 +68,7 @@ public class SysClientDetailsServiceImpl implements ISysClientDetailsService
66
     @CacheEvict(value = CacheConstants.CLIENT_DETAILS_KEY, key = "#sysClientDetails.clientId")
68
     @CacheEvict(value = CacheConstants.CLIENT_DETAILS_KEY, key = "#sysClientDetails.clientId")
67
     public int updateSysClientDetails(SysClientDetails sysClientDetails)
69
     public int updateSysClientDetails(SysClientDetails sysClientDetails)
68
     {
70
     {
71
+        sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getOriginSecret()));
69
         return sysClientDetailsMapper.updateSysClientDetails(sysClientDetails);
72
         return sysClientDetailsMapper.updateSysClientDetails(sysClientDetails);
70
     }
73
     }
71
 
74
 

+ 5 - 1
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysClientDetailsMapper.xml

@@ -16,10 +16,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
16
         <result property="refreshTokenValidity"   column="refresh_token_validity"   />
16
         <result property="refreshTokenValidity"   column="refresh_token_validity"   />
17
         <result property="additionalInformation"  column="additional_information"   />
17
         <result property="additionalInformation"  column="additional_information"   />
18
         <result property="autoapprove"            column="autoapprove"              />
18
         <result property="autoapprove"            column="autoapprove"              />
19
+        <result property="originSecret"           column="origin_secret"            />
19
     </resultMap>
20
     </resultMap>
20
 
21
 
21
     <sql id="selectSysClientDetailsVo">
22
     <sql id="selectSysClientDetailsVo">
22
-        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
23
+        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
23
     </sql>
24
     </sql>
24
 
25
 
25
     <select id="selectSysClientDetailsList" parameterType="SysClientDetails" resultMap="SysClientDetailsResult">
26
     <select id="selectSysClientDetailsList" parameterType="SysClientDetails" resultMap="SysClientDetailsResult">
@@ -48,6 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
48
             <if test="refreshTokenValidity != null">refresh_token_validity,</if>
49
             <if test="refreshTokenValidity != null">refresh_token_validity,</if>
49
             <if test="additionalInformation != null">additional_information,</if>
50
             <if test="additionalInformation != null">additional_information,</if>
50
             <if test="autoapprove != null">autoapprove,</if>
51
             <if test="autoapprove != null">autoapprove,</if>
52
+            <if test="originSecret != null">origin_secret,</if>
51
          </trim>
53
          </trim>
52
         <trim prefix="values (" suffix=")" suffixOverrides=",">
54
         <trim prefix="values (" suffix=")" suffixOverrides=",">
53
             <if test="clientId != null">#{clientId},</if>
55
             <if test="clientId != null">#{clientId},</if>
@@ -61,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
61
             <if test="refreshTokenValidity != null">#{refreshTokenValidity},</if>
63
             <if test="refreshTokenValidity != null">#{refreshTokenValidity},</if>
62
             <if test="additionalInformation != null">#{additionalInformation},</if>
64
             <if test="additionalInformation != null">#{additionalInformation},</if>
63
             <if test="autoapprove != null ">#{autoapprove},</if>
65
             <if test="autoapprove != null ">#{autoapprove},</if>
66
+            <if test="originSecret != null ">#{originSecret},</if>
64
          </trim>
67
          </trim>
65
     </insert>
68
     </insert>
66
 
69
 
@@ -77,6 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
77
             <if test="refreshTokenValidity != null">refresh_token_validity = #{refreshTokenValidity},</if>
80
             <if test="refreshTokenValidity != null">refresh_token_validity = #{refreshTokenValidity},</if>
78
             <if test="additionalInformation != null">additional_information = #{additionalInformation},</if>
81
             <if test="additionalInformation != null">additional_information = #{additionalInformation},</if>
79
             <if test="autoapprove != null">autoapprove = #{autoapprove},</if>
82
             <if test="autoapprove != null">autoapprove = #{autoapprove},</if>
83
+            <if test="originSecret != null">origin_secret = #{originSecret},</if>
80
         </trim>
84
         </trim>
81
         where client_id = #{clientId}
85
         where client_id = #{clientId}
82
     </update>
86
     </update>

+ 4 - 4
ruoyi-ui/src/views/system/client/index.vue

@@ -52,7 +52,7 @@
52
     <el-table v-loading="loading" :data="clientList" @selection-change="handleSelectionChange">
52
     <el-table v-loading="loading" :data="clientList" @selection-change="handleSelectionChange">
53
       <el-table-column type="selection" width="55" align="center" />
53
       <el-table-column type="selection" width="55" align="center" />
54
       <el-table-column label="编号" align="center" prop="clientId" />
54
       <el-table-column label="编号" align="center" prop="clientId" />
55
-      <el-table-column label="安全码" align="center" prop="clientSecret" :show-overflow-tooltip="true" />
55
+      <el-table-column label="安全码" align="center" prop="originSecret" :show-overflow-tooltip="true" />
56
       <el-table-column label="授权范围" align="center" prop="scope" />
56
       <el-table-column label="授权范围" align="center" prop="scope" />
57
       <el-table-column label="授权类型" align="center" prop="authorizedGrantTypes" :show-overflow-tooltip="true" />
57
       <el-table-column label="授权类型" align="center" prop="authorizedGrantTypes" :show-overflow-tooltip="true" />
58
       <el-table-column label="令牌时效" align="center" prop="accessTokenValidity" />
58
       <el-table-column label="令牌时效" align="center" prop="accessTokenValidity" />
@@ -91,8 +91,8 @@
91
         <el-form-item label="编号" prop="clientId">
91
         <el-form-item label="编号" prop="clientId">
92
           <el-input v-model="form.clientId" placeholder="请输入编号" :disabled="!isAdd" />
92
           <el-input v-model="form.clientId" placeholder="请输入编号" :disabled="!isAdd" />
93
         </el-form-item>
93
         </el-form-item>
94
-        <el-form-item label="安全码" prop="clientSecret">
95
-          <el-input v-model="form.clientSecret" placeholder="请输入安全码" />
94
+        <el-form-item label="安全码" prop="originSecret">
95
+          <el-input v-model="form.originSecret" placeholder="请输入安全码" />
96
         </el-form-item>
96
         </el-form-item>
97
         <el-form-item label="授权范围" prop="scope">
97
         <el-form-item label="授权范围" prop="scope">
98
           <el-input v-model="form.scope" placeholder="请输入授权范围" />
98
           <el-input v-model="form.scope" placeholder="请输入授权范围" />
@@ -155,7 +155,7 @@ export default {
155
         clientId: [
155
         clientId: [
156
           { required: true, message: "编号不能为空", trigger: "blur" }
156
           { required: true, message: "编号不能为空", trigger: "blur" }
157
         ],
157
         ],
158
-        clientSecret: [
158
+        originSecret: [
159
           { required: true, message: "安全码不能为空", trigger: "blur" }
159
           { required: true, message: "安全码不能为空", trigger: "blur" }
160
         ],
160
         ],
161
         scope: [
161
         scope: [

+ 3 - 2
sql/ry_20200822.sql

@@ -696,11 +696,12 @@ create table sys_oauth_client_details (
696
   refresh_token_validity     int(11)       default null      comment '设定终端的refresh_token的有效时间值(秒)',
696
   refresh_token_validity     int(11)       default null      comment '设定终端的refresh_token的有效时间值(秒)',
697
   additional_information     varchar(4096) default null      comment '附加信息',
697
   additional_information     varchar(4096) default null      comment '附加信息',
698
   autoapprove                tinyint(4)    default null      comment '是否登录时跳过授权',
698
   autoapprove                tinyint(4)    default null      comment '是否登录时跳过授权',
699
+  origin_secret              varchar(255)  not null          comment '终端明文安全码',
699
   primary key (client_id)
700
   primary key (client_id)
700
 ) engine=innodb auto_increment=1 comment = '终端配置表';
701
 ) engine=innodb auto_increment=1 comment = '终端配置表';
701
 
702
 
702
 -- ----------------------------
703
 -- ----------------------------
703
 -- 初始化-终端配置表数据
704
 -- 初始化-终端配置表数据
704
 -- ----------------------------
705
 -- ----------------------------
705
-insert into sys_oauth_client_details values ('web',    '', '$2a$10$y2hKeELx.z3Sbz.kjQ4wmuiIsv5ZSbUQ1ov4BwFH6ccirP8Knp1uq', 'server', 'password,refresh_token',                    '', NULL, 3600, 7200, NULL, NULL);
706
-insert into sys_oauth_client_details values ('ruoyi',  '', '$2a$10$y2hKeELx.z3Sbz.kjQ4wmuiIsv5ZSbUQ1ov4BwFH6ccirP8Knp1uq', 'server', 'password,client_credentials,refresh_token', '', NULL, 3600, 7200, NULL, NULL);
706
+insert into sys_oauth_client_details values ('web',    '', '$2a$10$y2hKeELx.z3Sbz.kjQ4wmuiIsv5ZSbUQ1ov4BwFH6ccirP8Knp1uq', 'server', 'password,refresh_token',                    '', NULL, 3600, 7200, NULL, NULL, '123456');
707
+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');