HomeController.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.mokasz.sample.admin.controller;
  2. import com.mokasz.sample.common.exception.CommonBizException;
  3. import com.mokasz.sample.common.model.ApiResponse;
  4. import com.xxl.sso.core.conf.Conf;
  5. import com.xxl.sso.core.login.SsoWebLoginHelper;
  6. import com.xxl.sso.core.user.XxlSsoUser;
  7. import io.swagger.annotations.Api;
  8. import io.swagger.annotations.ApiOperation;
  9. import lombok.RequiredArgsConstructor;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.springframework.beans.factory.annotation.Value;
  12. import org.springframework.validation.annotation.Validated;
  13. import org.springframework.web.bind.annotation.GetMapping;
  14. import org.springframework.web.bind.annotation.RequestMapping;
  15. import org.springframework.web.bind.annotation.RestController;
  16. import javax.servlet.http.HttpServletRequest;
  17. import javax.servlet.http.HttpServletResponse;
  18. @Api(tags = "后台用户")
  19. @Slf4j
  20. @Validated
  21. @RestController
  22. @RequestMapping("admin")
  23. public class HomeController {
  24. @Value("${xxl.sso.server}")
  25. private String ssoLoginUrl;
  26. @ApiOperation(value = "获取登陆用户信息")
  27. @GetMapping("getAdminInfo")
  28. public ApiResponse<XxlSsoUser> getUserInfo(HttpServletRequest request) throws CommonBizException {
  29. XxlSsoUser xxlSsoUser = (XxlSsoUser) request.getAttribute(Conf.SSO_USER);
  30. if (null != xxlSsoUser) {
  31. return ApiResponse.ok(xxlSsoUser);
  32. } else {
  33. throw new CommonBizException("无法获取登陆用户信息");
  34. }
  35. }
  36. @ApiOperation(value = "退出登录")
  37. @GetMapping(value = Conf.SSO_LOGOUT)
  38. public ApiResponse<?> logout(HttpServletRequest request, HttpServletResponse response) {
  39. SsoWebLoginHelper.logout(request, response);
  40. return ApiResponse.OK;
  41. }
  42. }