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.LoginByWxCodeFormDTO;
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.exception.ErrorCode;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
import com.epmet.commons.tools.validator.ValidatorUtils;
@ -92,9 +94,9 @@ public class LoginController {
* @Date 2020/3/18 22:43
**/
@PostMapping(value = "logout")
public Result logout(HttpServletRequest request) {
String token = request.getParameter(Constant.TOKEN_HEADER);
return loginService.logoutByToken(token);
public Result logout(@LoginUser TokenDto tokenDto, HttpServletRequest request) {
//String token = request.getParameter(Constant.TOKEN_HEADER);
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.LoginByWxCodeFormDTO;
import com.epmet.common.token.dto.result.UserTokenResultDTO;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
/**
@ -30,11 +31,11 @@ public interface LoginService {
Result<UserTokenResultDTO> loginByPassword(LoginByPassWordFormDTO formDTO);
/**
* @param token
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result
* @Author yinzuomei
* @Description 退出登录
* @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
public Result logoutByToken(String token) {
public Result logoutByToken(TokenDto tokenDto) {
//记录登出日志
//删除redis
if(null == tokenDto){
return new Result().error("当前用户信息获取失败!");
}
cpUserDetailRedis.logout(tokenDto.getApp() , tokenDto.getClient() , tokenDto.getUserId());
//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();
//请求放行,无需验证权限
if (pathMatcher(requestUri)) {
if (!pathMatcher(requestUri)) {
return chain.filter(exchange);
}
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/**
filters:
- StripPrefix=1
- CpAuth=true
#Admin服务
- id: epmet-admin-server
uri: @gateway.routes.epmet-admin-server.uri@
@ -235,15 +236,15 @@ ribbon:
ConnectTimeout: 300000
epmet:
# 党群e事通
# 党群e事通(不放行)
urls:
- /oper/customize/**
- /oper/crm/**
- /epmetuser/**
- /gov/org/**
- /oper/access/**
- /resi/guide/stranger/getselectcdcustomergridlist
- /resi/guide/stranger/getlocationcustomergridlist
- /resi/guide/stranger/getgridhome
- /auth/login/logout
swaggerUrls:
jwt:

Loading…
Cancel
Save