| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package com.jeesite.modules.mes.web;
- import com.jeesite.common.codec.DesUtils;
- import com.jeesite.common.config.Global;
- import com.jeesite.common.entity.Page;
- import com.jeesite.common.lang.ObjectUtils;
- import com.jeesite.common.lang.StringUtils;
- import com.jeesite.common.shiro.authc.FormToken;
- import com.jeesite.common.shiro.filter.FormFilter;
- import com.jeesite.common.web.BaseController;
- import com.jeesite.modules.file.service.FileUploadService;
- import com.jeesite.modules.mes.entity.MesApp;
- import com.jeesite.modules.mes.entity.MesDevice;
- import com.jeesite.modules.mes.service.MesAppService;
- import com.jeesite.modules.sys.entity.User;
- import com.jeesite.modules.sys.utils.UserUtils;
- import org.apache.shiro.authc.AuthenticationException;
- import org.apache.shiro.authz.annotation.RequiresPermissions;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.ui.Model;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.ModelAttribute;
- import org.springframework.web.bind.annotation.PostMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.ResponseBody;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- /**
- * 登录Controller
- * @author hzd
- * @version 2023-08-11
- */
- @Controller
- @RequestMapping(value = "${adminPath}/mes/mesLogin")
- public class MesLoginController extends BaseController {
- @RequestMapping(value = "login")
- @ResponseBody
- public void login(HttpServletRequest request, HttpServletResponse response) {
- try {
- String secretKey = Global.getConfig("shiro.loginSubmit.secretKey");
- String userCode = DesUtils.decode(request.getParameter("username"), secretKey);
- String userCode2 = DesUtils.encode("user2", secretKey);
- System.out.println("加密,usercode=" + userCode2);
- if(StringUtils.isEmpty(userCode)){
- throw new AuthenticationException("登录失败");
- }
- User user = UserUtils.getByLoginCode(userCode);
- if(ObjectUtils.isEmpty(user)){
- throw new AuthenticationException("登录失败");
- }
- if(!user.getStatus().equals("0")){
- throw new AuthenticationException("登录失败");
- }
- // FormToken 构造方法的三个参数:登录名、是否内部登录无条件、请求对象
- UserUtils.getSubject().login(new FormToken(user.getLoginCode(), true, request));
- System.out.println("登录成功,__sid=" + UserUtils.getSession().getId());
- FormFilter.onLoginSuccess(request, response);
- } catch (AuthenticationException e) {
- FormFilter.onLoginFailure(e, request, response);
- }
- }
- @RequestMapping(value = "qrcode")
- public String qrcode(String userCode, Model model) {
- User user = UserUtils.get(userCode);
- model.addAttribute("user", user);
- String secretKey = Global.getConfig("shiro.loginSubmit.secretKey");
- userCode = DesUtils.encode(user.getLoginCode(), secretKey);
- model.addAttribute("userCode", userCode);
- return "modules/sys/user/userQrcode";
- }
- }
|