ShiroController.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package com.caimei.modules.shiro.controller;
  2. import com.caimei.modules.shiro.entity.CmMallAdminUser;
  3. import com.caimei.modules.shiro.service.ShiroService;
  4. import com.caimei.utils.JsonModel;
  5. import com.caimei.utils.MD5Util;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.web.bind.annotation.GetMapping;
  8. import org.springframework.web.bind.annotation.RequestMapping;
  9. import org.springframework.web.bind.annotation.RestController;
  10. @RestController
  11. @RequestMapping("/user")
  12. public class ShiroController {
  13. @Autowired
  14. private ShiroService shiroService;
  15. /**
  16. * 登录
  17. */
  18. @GetMapping("/login")
  19. public JsonModel login(String account, String password, Integer organizeID) throws Exception {
  20. JsonModel jsonModel = JsonModel.newInstance();
  21. //用户信息
  22. CmMallAdminUser user = shiroService.findByUsername(account, organizeID);
  23. //账号不存在、密码错误
  24. if (user == null || !user.getPassword().equals(MD5Util.MD5(password))) {
  25. return jsonModel.error("账号或密码有误");
  26. } else {
  27. //生成token
  28. String token = null;
  29. try {
  30. token = shiroService.createToken(user);
  31. } catch (Exception e) {
  32. return jsonModel.error("生成token失败");
  33. }
  34. return jsonModel.success(token);
  35. }
  36. }
  37. @GetMapping("/info")
  38. public JsonModel info(String token) {
  39. String[] tokens = token.split("#,#");
  40. //用户信息
  41. CmMallAdminUser user = shiroService.findByUserId(Integer.valueOf(tokens[1]));
  42. return JsonModel.newInstance().success(user);
  43. }
  44. }