Commit 18102eaf by kenzo

fix pre env redis pwd

parent 298efaa8
...@@ -2,7 +2,6 @@ package com.cnooc.expert; ...@@ -2,7 +2,6 @@ package com.cnooc.expert;
import com.cnooc.expert.common.response.ApiResult; import com.cnooc.expert.common.response.ApiResult;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -10,11 +9,8 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -10,11 +9,8 @@ import org.springframework.web.bind.annotation.RestController;
@RestController @RestController
public class Ping { public class Ping {
private final StringRedisTemplate redisTemplate;
@GetMapping("/ping") @GetMapping("/ping")
public ApiResult<String> ping() { public ApiResult<String> ping() {
redisTemplate.opsForValue().set("ping", "Pong");
return ApiResult.successWithResult("Pong"); return ApiResult.successWithResult("Pong");
} }
......
package com.cnooc.expert.common.interceptor;
import com.cnooc.expert.common.exception.GlobalErrorCodeConstants;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public abstract class AbstractAuthInterceptor implements HandlerInterceptor {
@Autowired
private ObjectMapper objectMapper;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 放过OPTIONS请求
if ("OPTIONS".equals(request.getMethod())) {
return true;
}
if (request.getRequestURI().contains("favicon.ico")) {
return true;
}
// Annotation
if (handler instanceof HandlerMethod) {
HandlerMethod handlerMethod = (HandlerMethod) handler;
if (handlerMethod.getBean().getClass().isAnnotationPresent(NoAuth.class)) {
return true;
}
}
/*if (!valid(request)) {
response.setHeader("Access-Control-Allow-Origin", "*");
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized"); // 401
return false;
}*/
if (!valid(request)) {
returnJsonResponse(response, HttpStatus.UNAUTHORIZED.value(), GlobalErrorCodeConstants.LOGIN_EXPIRED.getCode(), "Token无效或已过");
return false;
}
return true;
}
abstract protected boolean valid(HttpServletRequest request);
private void returnJsonResponse(HttpServletResponse response, int status, int httpCode, String message) throws IOException {
response.setStatus(status);
response.setContentType(MediaType.APPLICATION_JSON_VALUE);
response.setCharacterEncoding("UTF-8");
Map<String, Object> result = new HashMap<>();
result.put("httpCode", httpCode);
result.put("message", message);
String json = objectMapper.writeValueAsString(result);
response.getWriter().write(json);
response.getWriter().flush();
}
}
...@@ -28,49 +28,48 @@ import java.util.Map; ...@@ -28,49 +28,48 @@ import java.util.Map;
@Component @Component
public class LoginInterceptor implements HandlerInterceptor { public class LoginInterceptor implements HandlerInterceptor {
// @Resource(name="redisCommonTemplate") @Resource(name="redisCommonTemplate")
// private RedisTemplate<String, Object> redisTemplate; private RedisTemplate<String, Object> redisTemplate;
//
// @Override
// @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String token = request.getHeader("Authorization");
// String token = request.getHeader("Authorization"); log.info("request uri :"+request.getRequestURI());
// log.info("request uri :"+request.getRequestURI()); if (token == null || token.trim().isEmpty()) {
// if (token == null || token.trim().isEmpty()) { response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); throw new BusinessException(HttpServletResponse.SC_UNAUTHORIZED, GlobalErrorCodeConstants.LOGIN_EXPIRED.getMsg());
// throw new BusinessException(HttpServletResponse.SC_UNAUTHORIZED, GlobalErrorCodeConstants.LOGIN_EXPIRED.getMsg()); }
// } try {
// try { Map<String, String> userMap = JwtUtils.getTokenInfo(token);
// Map<String, String> userMap = JwtUtils.getTokenInfo(token); String userId = userMap.get(TokenConstants.USER_ID);
// String userId = userMap.get(TokenConstants.USER_ID); String uuidKey = userMap.get(TokenConstants.UUID_KEY);
// String uuidKey = userMap.get(TokenConstants.UUID_KEY); ValidUtils.isNotNull(uuidKey, "登录异常,请重新登录");
// ValidUtils.isNotNull(uuidKey, "登录异常,请重新登录");
// ZhuanJiaUser zhuanjiaUser = (ZhuanJiaUser)redisTemplate.opsForValue().get(TokenConstants.LOGIN_USER_KEY_ + userId);
// ZhuanJiaUser zhuanjiaUser = (ZhuanJiaUser)redisTemplate.opsForValue().get(TokenConstants.LOGIN_USER_KEY_ + userId); if (zhuanjiaUser==null ){
// if (zhuanjiaUser==null ){ response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); response.getWriter().write("{\"httpCode\":401,\"message\":\"请先登录\"}");
// response.getWriter().write("{\"httpCode\":401,\"message\":\"请先登录\"}"); return false;
// return false; }
// } UserUtils.setUserId(zhuanjiaUser);
// UserUtils.setUserId(zhuanjiaUser); // 所有条件都满足,放行请求
// // 所有条件都满足,放行请求 return true;
// return true;
// } catch (Exception e) {
// } catch (Exception e) { log.info("token解析异常 {}",e.getMessage(),e);
// log.info("token解析异常 {}",e.getMessage(),e); response.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
// response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); UserUtils.clear();
// UserUtils.clear(); throw new BusinessException(401, "请先登录");
// throw new BusinessException(401, "请先登录"); }
// } }
// }
// @Override
// @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
// public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
// }
// }
// @Override
// @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
// public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { UserUtils.clear();
// UserUtils.clear(); }
// }
} }
package com.cnooc.expert.common.interceptor;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface NoAuth {
}
package com.cnooc.expert.common.interceptor;
import javax.servlet.http.HttpServletRequest;
public class WebAuthInterceptor extends AbstractAuthInterceptor {
@Override
protected boolean valid(HttpServletRequest request) {
// TODO 小程序认证逻辑
return true;
}
}
package com.cnooc.expert.config; package com.cnooc.expert.config;
import com.cnooc.expert.common.interceptor.LoginInterceptor; import com.cnooc.expert.common.interceptor.LoginInterceptor;
import com.cnooc.expert.common.interceptor.WebAuthInterceptor;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
...@@ -11,30 +9,25 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; ...@@ -11,30 +9,25 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration @Configuration
public class TheWebMvcConfigurer implements WebMvcConfigurer { public class TheWebMvcConfigurer implements WebMvcConfigurer {
// @Autowired @Autowired
// private LoginInterceptor loginInterceptor; private LoginInterceptor loginInterceptor;
//
// @Override @Override
// public void addInterceptors(InterceptorRegistry registry) { public void addInterceptors(InterceptorRegistry registry) {
//
// // 注册登录拦截器,并设置拦截路径和排除路径 // 注册登录拦截器,并设置拦截路径和排除路径
// registry.addInterceptor(loginInterceptor) registry.addInterceptor(loginInterceptor)
// .addPathPatterns("/**") // 拦截所有路径 .addPathPatterns("/**") // 拦截所有路径
// .excludePathPatterns( // 排除一些路径 .excludePathPatterns( // 排除一些路径
// "/sys/**", "/ping",
// "/verify/**", "/mock/**",
// "/person/**", "/sys/**",
// "/text/**", "/verify/**",
// "/error/**", "/person/**",
// "/error" "/text/**",
// ); "/error/**",
// "/error"
// registry.addInterceptor(webAuthInterceptor()); );
// } }
//
// @Bean
// public WebAuthInterceptor webAuthInterceptor() {
// return new WebAuthInterceptor();
// }
} }
package com.cnooc.expert.controller.auth;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.RestController;
@AllArgsConstructor
@RestController
public class AuthController {
}
...@@ -3,4 +3,4 @@ aks.config.security.mode=local ...@@ -3,4 +3,4 @@ aks.config.security.mode=local
aks.config.security.prefix=AKSSEC( aks.config.security.prefix=AKSSEC(
aks.config.security.suffix=)AKSSEC aks.config.security.suffix=)AKSSEC
# Demo # Demo
spring.redis.password=AKSSEC(RjZaaDu+5E6BMnDAm5ZG+A==)AKSSEC spring.redis.password=AKSSEC(UpTm5WRZXAMv/OIHNLNy9g==)AKSSEC
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment