package com.mokasz.sample.admin.controller; import com.mokasz.sample.common.exception.CommonBizException; import com.mokasz.sample.common.model.ApiResponse; import com.xxl.sso.core.conf.Conf; import com.xxl.sso.core.login.SsoWebLoginHelper; import com.xxl.sso.core.user.XxlSsoUser; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @Api(tags = "后台用户") @Slf4j @Validated @RestController @RequestMapping("admin") public class HomeController { @Value("${xxl.sso.server}") private String ssoLoginUrl; @ApiOperation(value = "获取登陆用户信息") @GetMapping("getAdminInfo") public ApiResponse getUserInfo(HttpServletRequest request) throws CommonBizException { XxlSsoUser xxlSsoUser = (XxlSsoUser) request.getAttribute(Conf.SSO_USER); if (null != xxlSsoUser) { return ApiResponse.ok(xxlSsoUser); } else { throw new CommonBizException("无法获取登陆用户信息"); } } @ApiOperation(value = "退出登录") @GetMapping(value = Conf.SSO_LOGOUT) public ApiResponse logout(HttpServletRequest request, HttpServletResponse response) { SsoWebLoginHelper.logout(request, response); return ApiResponse.OK; } }