From d5bcb7deecd599a752d62333b8dc976228498b55 Mon Sep 17 00:00:00 2001 From: lxw <810412026@qq.com> Date: 星期一, 18 七月 2022 10:03:15 +0800 Subject: [PATCH] Merge branch 'master' of http://118.89.139.230:10101/r/~whyclxw/CadDrawManager --- src/main/java/com/whyc/service/DocUserService.java | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/whyc/service/DocUserService.java b/src/main/java/com/whyc/service/DocUserService.java index 28cda18..0490b8c 100644 --- a/src/main/java/com/whyc/service/DocUserService.java +++ b/src/main/java/com/whyc/service/DocUserService.java @@ -10,11 +10,18 @@ import com.whyc.dto.Response; import com.whyc.mapper.DocUserMapper; import com.whyc.pojo.DocUser; +import com.whyc.util.ActionUtil; +import com.whyc.util.RSAUtil; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authc.UnknownAccountException; +import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.subject.Subject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.system.ApplicationHome; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.IOException; import java.util.List; @@ -97,4 +104,29 @@ int bl=mapper.delete(wrapper); return new Response().setII(1,bl>0?true:false,bl,"鍒犻櫎杩斿洖"); } + + public Response login(String name, String snId, HttpServletRequest request) { + Response response = new Response(); + String[] dataArr = RSAUtil.decryptFrontP(snId, RSAUtil.fontSeparator); + //楠岀md5 + if (!dataArr[1].equals(ActionUtil.EncryptionMD5(org.apache.commons.lang3.StringUtils.trim(dataArr[0])).toString())) { + return response.set(1, false, "瀵嗙爜楠岀澶辫触"); + } + UsernamePasswordToken userToken = new UsernamePasswordToken(name, dataArr[0]); + Subject subject = SecurityUtils.getSubject(); + try { + subject.login(userToken); + } catch (Exception e) { + if(e instanceof UnknownAccountException){ + return response.set(1,false,"璐﹀彿涓嶅瓨鍦�"); + } + return response.set(1,false,"瀵嗙爜閿欒"); + } + //鐧诲綍鎴愬姛 + //Session瀛樺偍褰撳墠鐢ㄦ埛鍙婃潈闄愮粍鍒楄〃 + DocUser userDB = (DocUser) subject.getPrincipal(); + userDB.setSnId(null); + request.getSession().setAttribute("user", userDB); + return response.setII(1,true, userDB,"鐧诲綍鎴愬姛"); + } } -- Gitblit v1.9.1