Browse Source

终端设置新增明文安全码

RuoYi 5 years ago
parent
commit
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 17
 import com.ruoyi.common.core.web.page.TableDataInfo;
18 18
 import com.ruoyi.common.log.annotation.Log;
19 19
 import com.ruoyi.common.log.enums.BusinessType;
20
-import com.ruoyi.common.security.utils.SecurityUtils;
21 20
 import com.ruoyi.system.domain.SysClientDetails;
22 21
 import com.ruoyi.system.service.ISysClientDetailsService;
23 22
 
@@ -68,7 +67,6 @@ public class SysClientDetailsController extends BaseController
68 67
         {
69 68
             return AjaxResult.error("新增终端'" + clientId + "'失败,编号已存在");
70 69
         }
71
-        sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getClientSecret()));
72 70
         return toAjax(sysClientDetailsService.insertSysClientDetails(sysClientDetails));
73 71
     }
74 72
 
@@ -80,7 +78,6 @@ public class SysClientDetailsController extends BaseController
80 78
     @PutMapping
81 79
     public AjaxResult edit(@RequestBody SysClientDetails sysClientDetails)
82 80
     {
83
-        sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getClientSecret()));
84 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 69
     private String autoapprove;
70 70
 
71
+    /**
72
+     * 终端明文安全码
73
+     */
74
+    private String originSecret;
75
+
71 76
     public String getClientId()
72 77
     {
73 78
         return clientId;
@@ -178,6 +183,16 @@ public class SysClientDetails extends BaseEntity
178 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 196
     @Override
182 197
     public String toString() {
183 198
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -192,6 +207,7 @@ public class SysClientDetails extends BaseEntity
192 207
             .append("refreshTokenValidity", getRefreshTokenValidity())
193 208
             .append("additionalInformation", getAdditionalInformation())
194 209
             .append("autoapprove", getAutoapprove())
210
+            .append("originSecret", getOriginSecret())
195 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 5
 import org.springframework.cache.annotation.CacheEvict;
6 6
 import org.springframework.stereotype.Service;
7 7
 import com.ruoyi.common.core.constant.CacheConstants;
8
+import com.ruoyi.common.security.utils.SecurityUtils;
8 9
 import com.ruoyi.system.domain.SysClientDetails;
9 10
 import com.ruoyi.system.mapper.SysClientDetailsMapper;
10 11
 import com.ruoyi.system.service.ISysClientDetailsService;
@@ -53,6 +54,7 @@ public class SysClientDetailsServiceImpl implements ISysClientDetailsService
53 54
     @Override
54 55
     public int insertSysClientDetails(SysClientDetails sysClientDetails)
55 56
     {
57
+        sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getOriginSecret()));
56 58
         return sysClientDetailsMapper.insertSysClientDetails(sysClientDetails);
57 59
     }
58 60
 
@@ -66,6 +68,7 @@ public class SysClientDetailsServiceImpl implements ISysClientDetailsService
66 68
     @CacheEvict(value = CacheConstants.CLIENT_DETAILS_KEY, key = "#sysClientDetails.clientId")
67 69
     public int updateSysClientDetails(SysClientDetails sysClientDetails)
68 70
     {
71
+        sysClientDetails.setClientSecret(SecurityUtils.encryptPassword(sysClientDetails.getOriginSecret()));
69 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 16
         <result property="refreshTokenValidity"   column="refresh_token_validity"   />
17 17
         <result property="additionalInformation"  column="additional_information"   />
18 18
         <result property="autoapprove"            column="autoapprove"              />
19
+        <result property="originSecret"           column="origin_secret"            />
19 20
     </resultMap>
20 21
 
21 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 24
     </sql>
24 25
 
25 26
     <select id="selectSysClientDetailsList" parameterType="SysClientDetails" resultMap="SysClientDetailsResult">
@@ -48,6 +49,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
48 49
             <if test="refreshTokenValidity != null">refresh_token_validity,</if>
49 50
             <if test="additionalInformation != null">additional_information,</if>
50 51
             <if test="autoapprove != null">autoapprove,</if>
52
+            <if test="originSecret != null">origin_secret,</if>
51 53
          </trim>
52 54
         <trim prefix="values (" suffix=")" suffixOverrides=",">
53 55
             <if test="clientId != null">#{clientId},</if>
@@ -61,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
61 63
             <if test="refreshTokenValidity != null">#{refreshTokenValidity},</if>
62 64
             <if test="additionalInformation != null">#{additionalInformation},</if>
63 65
             <if test="autoapprove != null ">#{autoapprove},</if>
66
+            <if test="originSecret != null ">#{originSecret},</if>
64 67
          </trim>
65 68
     </insert>
66 69
 
@@ -77,6 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
77 80
             <if test="refreshTokenValidity != null">refresh_token_validity = #{refreshTokenValidity},</if>
78 81
             <if test="additionalInformation != null">additional_information = #{additionalInformation},</if>
79 82
             <if test="autoapprove != null">autoapprove = #{autoapprove},</if>
83
+            <if test="originSecret != null">origin_secret = #{originSecret},</if>
80 84
         </trim>
81 85
         where client_id = #{clientId}
82 86
     </update>

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

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

+ 3 - 2
sql/ry_20200822.sql

@@ -696,11 +696,12 @@ create table sys_oauth_client_details (
696 696
   refresh_token_validity     int(11)       default null      comment '设定终端的refresh_token的有效时间值(秒)',
697 697
   additional_information     varchar(4096) default null      comment '附加信息',
698 698
   autoapprove                tinyint(4)    default null      comment '是否登录时跳过授权',
699
+  origin_secret              varchar(255)  not null          comment '终端明文安全码',
699 700
   primary key (client_id)
700 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');