RuoYi
2020-08-22 1305507bf4659fbd03924dfea7ae55b2aa7e88a2
终端设置新增明文安全码
6 files modified
41 ■■■■ changed files
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysClientDetailsController.java 3 ●●●●● patch | view | raw | blame | history
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/SysClientDetails.java 16 ●●●●● patch | view | raw | blame | history
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysClientDetailsServiceImpl.java 3 ●●●●● patch | view | raw | blame | history
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysClientDetailsMapper.xml 6 ●●●● patch | view | raw | blame | history
ruoyi-ui/src/views/system/client/index.vue 8 ●●●● patch | view | raw | blame | history
sql/ry_20200822.sql 5 ●●●●● patch | view | raw | blame | history
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));
    }
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();
    }
}
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);
    }
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>
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: [
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);
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');