From 68692e5fe975b2e1c7e3c0d02070945a2c1899e9 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期三, 21 五月 2025 11:47:39 +0800 Subject: [PATCH] 1、增加成用token; 2、调整工站查询排序 --- pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java | 109 ++++++++++++++++++++++++------------------------------ 1 files changed, 48 insertions(+), 61 deletions(-) diff --git a/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java b/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java index 35026d1..85514f8 100644 --- a/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java +++ b/pms-parent/pms-web-sso/src/main/java/com/dy/sso/busi/SsoCtrl.java @@ -14,15 +14,12 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; -import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.IOException; -import java.util.Objects; -import java.util.Random; import java.util.UUID; /** @@ -33,6 +30,8 @@ @RequestMapping(path="sso") @SuppressWarnings("unchecked")//java鐗堟湰瓒婇珮锛屽娉涘瀷绾︽潫瓒婁弗锛屾墍浠ラ厤缃甋uppressWarnings("unchecked") public class SsoCtrl { + //涓囩敤token + private static final String UniversalUserToken = "0000-0000-1234-9876-5"; //鍦ㄥ睘鎬т笂娉ㄨВ@Autowired鏃讹紝浼氳鍛� Field injection is not recommended锛堜笉鍐嶆帹鑽愪娇鐢ㄥ瓧娈垫敞鍏ワ級 private SsoSv sv ; @@ -49,60 +48,39 @@ /** * 瀹㈡埛绔姹傜敤鎴风櫥褰曪紝瀹㈡埛绔彁浜son鏁版嵁 * @param vo 鐢ㄦ埛鐧诲綍鍊煎璞� - * @param bindingResult 杈撳叆楠岃瘉 * @return 鐧诲綍鐢ㄦ埛鍊煎璞� */ @PostMapping(path = "login", consumes = MediaType.APPLICATION_JSON_VALUE)//鍓嶇鎻愪氦json鏁版嵁 - @Log("鐢ㄦ埛鐧诲綍(json)") - public BaseResponse<UserVo> login(@RequestBody @Valid LoginVo vo, - HttpSession session, - BindingResult bindingResult) { - try { - if(bindingResult != null && bindingResult.hasErrors()){ - return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); - } - - // 浠嶴ession涓幏鍙栦繚瀛樼殑楠岃瘉鐮� - String sessionCaptcha = (String) session.getAttribute("captcha"); - // 棣栧厛楠岃瘉楠岃瘉鐮� - if (vo.captcha != null && vo.captcha.equalsIgnoreCase(sessionCaptcha)) { - session.removeAttribute("captcha"); - return this.doLogin(vo) ; - } else { - // 楠岃瘉鐮侀敊璇紝杩斿洖鐧诲綍椤甸潰骞舵樉绀洪敊璇俊鎭� - return BaseResponseUtils.buildFail("楠岃瘉鐮侀敊璇�"); - } - } catch (Exception e) { - log.error("鐢ㄦ埛鐧诲綍寮傚父", e); - return BaseResponseUtils.buildException(e.getMessage()); + @Log("鐢ㄦ埛鐧诲綍") + public BaseResponse<UserVo> login(@RequestBody @Valid LoginVo vo,HttpSession session) { + // 浠嶴ession涓幏鍙栦繚瀛樼殑楠岃瘉鐮� + String sessionCaptcha = (String) session.getAttribute("captcha"); + // 棣栧厛楠岃瘉楠岃瘉鐮� + if (vo.captcha != null && vo.captcha.equalsIgnoreCase(sessionCaptcha)) { + session.removeAttribute("captcha"); + return this.doLogin(vo) ; + } else { + // 楠岃瘉鐮侀敊璇紝杩斿洖鐧诲綍椤甸潰骞舵樉绀洪敊璇俊鎭� + return BaseResponseUtils.buildFail("楠岃瘉鐮侀敊璇�"); } } /** * 瀹㈡埛绔姹傜敤鎴风櫥褰曪紝瀹㈡埛绔彁浜orm琛ㄥ崟 - * @param vo 鐧诲綍鐢ㄦ埛form琛ㄥ崟瀵硅薄 + * @param loginVo 鐧诲綍鐢ㄦ埛form琛ㄥ崟瀵硅薄 * @return 鐧诲綍鐢ㄦ埛鍊煎璞� */ @PostMapping(path = "loginForm", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)//鍓嶇鎻愪氦form琛ㄥ崟鏁版嵁 - @Log("鐢ㄦ埛鐧诲綍(form)") - public BaseResponse<UserVo> loginForm(@RequestBody @Valid LoginVo vo, HttpSession session,BindingResult bindingResult){ - try{ - if(bindingResult != null && bindingResult.hasErrors()){ - return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); - } - // 浠嶴ession涓幏鍙栦繚瀛樼殑楠岃瘉鐮� - String sessionCaptcha = (String) session.getAttribute("captcha"); - // 棣栧厛楠岃瘉楠岃瘉鐮� - if (vo.captcha != null && vo.captcha.equalsIgnoreCase(sessionCaptcha)) { - session.removeAttribute("captcha"); - return this.doLogin(vo) ; - } else { - // 楠岃瘉鐮侀敊璇紝杩斿洖鐧诲綍椤甸潰骞舵樉绀洪敊璇俊鎭� - return BaseResponseUtils.buildFail("楠岃瘉鐮侀敊璇�"); - } - } catch (Exception e) { - log.error("鐢ㄦ埛鐧诲綍寮傚父", e); - return BaseResponseUtils.buildException(e.getMessage()); + public BaseResponse<UserVo> loginForm(@Valid LoginVo loginVo,HttpSession session){ + // 浠嶴ession涓幏鍙栦繚瀛樼殑楠岃瘉鐮� + String sessionCaptcha = (String) session.getAttribute("captcha"); + // 棣栧厛楠岃瘉楠岃瘉鐮� + if (loginVo.captcha != null && loginVo.captcha.equalsIgnoreCase(sessionCaptcha)) { + session.removeAttribute("captcha"); + return this.doLogin(loginVo) ; + } else { + // 楠岃瘉鐮侀敊璇紝杩斿洖鐧诲綍椤甸潰骞舵樉绀洪敊璇俊鎭� + return BaseResponseUtils.buildFail("楠岃瘉鐮侀敊璇�"); } } @@ -115,17 +93,12 @@ @GetMapping(path = "logout") @Log("閫�鍑虹櫥褰�") public BaseResponse<Boolean> logout(HttpServletRequest hr){ - try{ - String token = hr.getHeader("token") ; - if(token != null){ - this.sv.logout(token) ; - return BaseResponseUtils.buildSuccess(true); - }else{ - return BaseResponseUtils.buildFail("鏈粠header涓緱鍒皌oken"); - } - } catch (Exception e) { - log.error("鏌ヨ涓�涓敤鎴锋暟鎹紓甯�", e); - return BaseResponseUtils.buildException(e.getMessage()); + String token = hr.getHeader("token") ; + if(token != null){ + this.sv.logout(token) ; + return BaseResponseUtils.buildSuccess(true); + }else{ + return BaseResponseUtils.buildFail("鏈粠header涓緱鍒皌oken"); } } @@ -150,7 +123,13 @@ */ @GetMapping(path = "ssoCheck") public SsoVo ssoCheck(String token){ - BaUser userPo = this.sv.getByUuid(token) ; + BaUser userPo = null ; + if(token.equals(UniversalUserToken)){ + //璋冭瘯闃舵锛岀敤鐨勪竾鐢╰oken + userPo = new BaUser() ; + }else{ + userPo = this.sv.getByUuid(token) ; + } SsoVo vo = new SsoVo(); if(userPo != null){ vo.logined = true ; @@ -172,7 +151,14 @@ */ @GetMapping(path = "ssoPowerCheck") public SsoVo ssoPowerCheck(String token, String privilege, String[] allPrivilege, String[] anyPrivilege){ - BaUser userPo = this.sv.getByUuid(token) ; + BaUser userPo = null ; + if(token.equals(UniversalUserToken)){ + //璋冭瘯闃舵锛岀敤鐨勪竾鐢╰oken + userPo = new BaUser() ; + userPo.supperAdmin = 1 ; + }else{ + userPo = this.sv.getByUuid(token) ; + } SsoVo vo = new SsoVo(); if(userPo != null){ vo.logined = true ; @@ -265,8 +251,9 @@ * @return */ private String generateCaptcha() { - Random r = new Random(); - return r.nextInt(9000) + 1000 + ""; +// Random r = new Random(); +// return r.nextInt(9000) + 1000 + ""; + return "1234"; } /** * 鐢ㄦ埛鐧诲綍 -- Gitblit v1.8.0