diff --git a/src/main/java/com/birthday/aisen/config/WebConfigurer.java b/src/main/java/com/birthday/aisen/config/WebConfigurer.java new file mode 100644 index 0000000..5136789 --- /dev/null +++ b/src/main/java/com/birthday/aisen/config/WebConfigurer.java @@ -0,0 +1,21 @@ +package com.birthday.aisen.config; + +import org.springframework.context.annotation.Configuration; +import com.birthday.aisen.interceptor.LoginInterceptor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + + +@Configuration +public class WebConfigurer implements WebMvcConfigurer { + @Autowired + private LoginInterceptor loginInterceptor; + + @Override + public void addInterceptors(InterceptorRegistry registry) { + // addPathPatterns 添加拦截;excludePathPatterns 排除拦截 + registry.addInterceptor(loginInterceptor).addPathPatterns("/api/user/**"); + } + +} diff --git a/src/main/java/com/birthday/aisen/interceptor/LoginInterceptor.java b/src/main/java/com/birthday/aisen/interceptor/LoginInterceptor.java new file mode 100644 index 0000000..62736f1 --- /dev/null +++ b/src/main/java/com/birthday/aisen/interceptor/LoginInterceptor.java @@ -0,0 +1,42 @@ +package com.birthday.aisen.interceptor; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import org.springframework.web.servlet.HandlerInterceptor; +import org.springframework.stereotype.Service; + +import java.util.HashMap; + + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.common.base.MoreObjects; + +@Service("loginInterceptor") +public class LoginInterceptor implements HandlerInterceptor { + private Logger logger = LoggerFactory.getLogger(LoginInterceptor.class); + + public boolean preHandle(HttpServletRequest request, + HttpServletResponse response, Object handler) throws Exception { + + //获取session + HttpSession session = request.getSession(true); + if(session.getAttribute("userId") == null) { + + HashMap result = new HashMap<>(); + result.put("error", "请先登录"); + + response.setContentType("application/json"); + response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); + response.getWriter().write(result.toString()); + return false; + } + + logger.info(session.getAttribute("userId").toString()); + return true; + + } + +} diff --git a/src/main/java/com/birthday/aisen/service/impl/UserService.java b/src/main/java/com/birthday/aisen/service/impl/UserService.java index 6c5e110..7c450be 100644 --- a/src/main/java/com/birthday/aisen/service/impl/UserService.java +++ b/src/main/java/com/birthday/aisen/service/impl/UserService.java @@ -13,6 +13,8 @@ import org.springframework.http.HttpStatus; import org.springframework.stereotype.Component; import org.springframework.web.server.ResponseStatusException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.HashMap; @@ -21,6 +23,8 @@ @Component public class UserService implements IUserService { + private static Logger logger = LoggerFactory.getLogger(UserService.class); + @Autowired private UserMapper userMapper; @@ -31,6 +35,7 @@ public UserDTO getUserById(long uid) { UserDTO dto = new UserDTO(); User entity = userMapper.getUserById(uid); + logger.info(entity.toString()); // test redis redisTemplate.opsForValue().set(String.valueOf(entity.getId()), entity.getUsername()); BeanUtils.copyProperties(entity, dto); @@ -50,7 +55,6 @@ public List getUsersByName(String username) { public LoginDTO login(String username, String password) { LoginDTO dto = new LoginDTO(); - User entity = userMapper.getUserByName(username); if (entity == null) { diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..154e229 --- /dev/null +++ b/src/main/resources/logback-spring.xml @@ -0,0 +1,15 @@ + + + + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n + + + + + + + + + \ No newline at end of file