SysLoginController.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package com.sooka.web.controller.system;
  2. import javax.servlet.http.HttpServletRequest;
  3. import javax.servlet.http.HttpServletResponse;
  4. import org.apache.shiro.SecurityUtils;
  5. import org.apache.shiro.authc.AuthenticationException;
  6. import org.apache.shiro.authc.UsernamePasswordToken;
  7. import org.apache.shiro.subject.Subject;
  8. import org.springframework.stereotype.Controller;
  9. import org.springframework.web.bind.annotation.GetMapping;
  10. import org.springframework.web.bind.annotation.PostMapping;
  11. import org.springframework.web.bind.annotation.ResponseBody;
  12. import com.sooka.common.core.controller.BaseController;
  13. import com.sooka.common.core.domain.AjaxResult;
  14. import com.sooka.common.utils.ServletUtils;
  15. import com.sooka.common.utils.StringUtils;
  16. /**
  17. * 登录验证
  18. *
  19. * @author lei_wang
  20. */
  21. @Controller
  22. public class SysLoginController extends BaseController
  23. {
  24. @GetMapping("/login")
  25. public String login(HttpServletRequest request, HttpServletResponse response)
  26. {
  27. // 如果是Ajax请求,返回Json字符串。
  28. if (ServletUtils.isAjaxRequest(request))
  29. {
  30. return ServletUtils.renderString(response, "{\"code\":\"1\",\"msg\":\"未登录或登录超时。请重新登录\"}");
  31. }
  32. return "login";
  33. }
  34. @PostMapping("/login")
  35. @ResponseBody
  36. public AjaxResult ajaxLogin(String username, String password, Boolean rememberMe)
  37. {
  38. UsernamePasswordToken token = new UsernamePasswordToken(username, password, rememberMe);
  39. Subject subject = SecurityUtils.getSubject();
  40. try
  41. {
  42. subject.login(token);
  43. return success();
  44. }
  45. catch (AuthenticationException e)
  46. {
  47. String msg = "用户或密码错误";
  48. if (StringUtils.isNotEmpty(e.getMessage()))
  49. {
  50. msg = e.getMessage();
  51. }
  52. return error(msg);
  53. }
  54. }
  55. @GetMapping("/unauth")
  56. public String unauth()
  57. {
  58. return "error/unauth";
  59. }
  60. }