Browse Source

退出登录

dev_shibei_match
wangchao 6 years ago
parent
commit
4fb2935abf
  1. 8
      epmet-auth/src/main/java/com/epmet/controller/LoginController.java
  2. 5
      epmet-auth/src/main/java/com/epmet/service/LoginService.java
  3. 10
      epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java
  4. 2
      epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java
  5. 7
      epmet-gateway/src/main/resources/bootstrap.yml

8
epmet-auth/src/main/java/com/epmet/controller/LoginController.java

@ -3,8 +3,10 @@ package com.epmet.controller;
import com.epmet.common.token.dto.form.LoginByPassWordFormDTO; import com.epmet.common.token.dto.form.LoginByPassWordFormDTO;
import com.epmet.common.token.dto.form.LoginByWxCodeFormDTO; import com.epmet.common.token.dto.form.LoginByWxCodeFormDTO;
import com.epmet.common.token.dto.result.UserTokenResultDTO; import com.epmet.common.token.dto.result.UserTokenResultDTO;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.constant.Constant; import com.epmet.commons.tools.constant.Constant;
import com.epmet.commons.tools.exception.ErrorCode; import com.epmet.commons.tools.exception.ErrorCode;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.ValidatorUtils;
@ -92,9 +94,9 @@ public class LoginController {
* @Date 2020/3/18 22:43 * @Date 2020/3/18 22:43
**/ **/
@PostMapping(value = "logout") @PostMapping(value = "logout")
public Result logout(HttpServletRequest request) { public Result logout(@LoginUser TokenDto tokenDto, HttpServletRequest request) {
String token = request.getParameter(Constant.TOKEN_HEADER); //String token = request.getParameter(Constant.TOKEN_HEADER);
return loginService.logoutByToken(token); return loginService.logoutByToken(tokenDto);
} }
} }

5
epmet-auth/src/main/java/com/epmet/service/LoginService.java

@ -3,6 +3,7 @@ package com.epmet.service;
import com.epmet.common.token.dto.form.LoginByPassWordFormDTO; import com.epmet.common.token.dto.form.LoginByPassWordFormDTO;
import com.epmet.common.token.dto.form.LoginByWxCodeFormDTO; import com.epmet.common.token.dto.form.LoginByWxCodeFormDTO;
import com.epmet.common.token.dto.result.UserTokenResultDTO; import com.epmet.common.token.dto.result.UserTokenResultDTO;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
/** /**
@ -30,11 +31,11 @@ public interface LoginService {
Result<UserTokenResultDTO> loginByPassword(LoginByPassWordFormDTO formDTO); Result<UserTokenResultDTO> loginByPassword(LoginByPassWordFormDTO formDTO);
/** /**
* @param token * @param tokenDto
* @return com.epmet.commons.tools.utils.Result * @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei * @Author yinzuomei
* @Description 退出登录 * @Description 退出登录
* @Date 2020/3/18 22:44 * @Date 2020/3/18 22:44
**/ **/
Result logoutByToken(String token); Result logoutByToken(TokenDto tokenDto);
} }

10
epmet-auth/src/main/java/com/epmet/service/impl/LoginServiceImpl.java

@ -337,10 +337,16 @@ public class LoginServiceImpl implements LoginService {
@Override @Override
public Result logoutByToken(String token) { public Result logoutByToken(TokenDto tokenDto) {
//记录登出日志 //记录登出日志
//删除redis //删除redis
if(null == tokenDto){
return new Result().error("当前用户信息获取失败!");
}
cpUserDetailRedis.logout(tokenDto.getApp() , tokenDto.getClient() , tokenDto.getUserId());
//web端清空菜单栏和权限,小程序目前又 //web端清空菜单栏和权限,小程序目前又
return null; return new Result().ok("退出登录!");
} }
} }

2
epmet-gateway/src/main/java/com/epmet/filter/CpAuthGatewayFilterFactory.java

@ -69,7 +69,7 @@ public class CpAuthGatewayFilterFactory extends AbstractGatewayFilterFactory<CpA
String requestUri = request.getPath().pathWithinApplication().value(); String requestUri = request.getPath().pathWithinApplication().value();
//请求放行,无需验证权限 //请求放行,无需验证权限
if (pathMatcher(requestUri)) { if (!pathMatcher(requestUri)) {
return chain.filter(exchange); return chain.filter(exchange);
} }
logger.info("CpAuthGatewayFilterFactory当前requestUri=[" + requestUri + "]CpAuthGatewayFilterFactory拦截成功"); logger.info("CpAuthGatewayFilterFactory当前requestUri=[" + requestUri + "]CpAuthGatewayFilterFactory拦截成功");

7
epmet-gateway/src/main/resources/bootstrap.yml

@ -34,6 +34,7 @@ spring:
- Path=${server.servlet.context-path}/auth/** - Path=${server.servlet.context-path}/auth/**
filters: filters:
- StripPrefix=1 - StripPrefix=1
- CpAuth=true
#Admin服务 #Admin服务
- id: epmet-admin-server - id: epmet-admin-server
uri: @gateway.routes.epmet-admin-server.uri@ uri: @gateway.routes.epmet-admin-server.uri@
@ -235,15 +236,15 @@ ribbon:
ConnectTimeout: 300000 ConnectTimeout: 300000
epmet: epmet:
# 党群e事通 # 党群e事通(不放行)
urls: urls:
- /oper/customize/** - /oper/customize/**
- /oper/crm/** - /oper/crm/**
- /epmetuser/** - /epmetuser/**
- /gov/org/** - /gov/org/**
- /oper/access/** - /oper/access/**
- /resi/guide/stranger/getselectcdcustomergridlist - /resi/guide/stranger/getgridhome
- /resi/guide/stranger/getlocationcustomergridlist - /auth/login/logout
swaggerUrls: swaggerUrls:
jwt: jwt:

Loading…
Cancel
Save