From 88782644ff6bb758ad872089c09ba5d93f6224fc Mon Sep 17 00:00:00 2001 From: baozhipeng <961815525@qq.com> Date: Thu, 7 Apr 2022 13:49:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E7=82=B9=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/jero/config/shiro/ShiroConfig.java | 1 + .../system/controller/LoginController.java | 6 ++++-- .../modules/system/service/ISysUserService.java | 4 +++- .../system/service/impl/SysUserServiceImpl.java | 15 +++++++++++++++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java index 7529b32d..c38a7249 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/shiro/ShiroConfig.java @@ -79,6 +79,7 @@ public class ShiroConfig { filterChainDefinitionMap.put("/sys/mLogin", "anon"); //登录接口排除 filterChainDefinitionMap.put("/sys/logout", "anon"); //登出接口排除 filterChainDefinitionMap.put("/sys/thirdLogin/**", "anon"); //第三方登录 + filterChainDefinitionMap.put("/sys/singleSignOn", "anon"); //单点登录 filterChainDefinitionMap.put("/sys/getEncryptedString", "anon"); //获取加密串 filterChainDefinitionMap.put("/sys/sms", "anon");//短信验证码 filterChainDefinitionMap.put("/sys/phoneLogin", "anon");//手机登录 diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java index 38c708f8..38157e58 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/LoginController.java @@ -645,9 +645,11 @@ public class LoginController { } @ApiOperation(value = "单点登录") - @PostMapping(value = "/singleSignON") - public Result singleSignON(@RequestParam(name="code") String code) { + @PostMapping(value = "/singleSignOn") + public Result singleSignOn(@RequestParam(name="code") String code) { Result result = new Result<>(); + + sysUserService.singleSignOn(code); return result; } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java index c27a6d1e..56be8466 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java @@ -20,6 +20,7 @@ import com.jero.modules.system.model.SysLoginVO; import com.jero.modules.system.model.SysUserSysDepartModel; import com.jero.modules.system.vo.SysUserVo; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.RequestParam; /** *

@@ -263,6 +264,7 @@ public interface ISysUserService extends IService { */ PayContactsManagement getPayContactsManagementByPhone(String phone); - + //单点登录 + void singleSignOn(String code); } diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index d9d7a3da..ca584c11 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -1,5 +1,6 @@ package com.jero.modules.system.service.impl; +import cn.hutool.http.HttpUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -73,6 +74,10 @@ public class SysUserServiceImpl extends ServiceImpl impl private RedisUtil redisUtil; @Value("${defaultPassword}") private String defaultPassword; + @Value("${singleSignON.client_id}") + private String client_id; + @Value("${singleSignON.client_id}") + private String client_secret; @Override @CacheEvict(value = {CacheConstant.SYS_USERS_CACHE}, allEntries = true) @@ -620,6 +625,16 @@ public class SysUserServiceImpl extends ServiceImpl impl if(ObjectUtils.isEmpty(user.getVerifyPassword())){ throw new JeroBootException("确认密码为必填"); } + } + //单点登录 + public void singleSignOn(String code){ + HashMap paramMap = new HashMap<>(); + paramMap.put("client_id", client_id); + paramMap.put("client_secret", client_secret); + paramMap.put("code", 1); + paramMap.put("grant_type", "authorization_code"); + + String token= HttpUtil.post("https://idmtest.catarc.ac.cn/bam-protocol-service/oauth2/getToken", paramMap); } }