Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions src/main/java/com/birthday/aisen/config/WebConfigurer.java
Original file line number Diff line number Diff line change
@@ -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/**");
}

}
42 changes: 42 additions & 0 deletions src/main/java/com/birthday/aisen/interceptor/LoginInterceptor.java
Original file line number Diff line number Diff line change
@@ -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<String,String> 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;

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -21,6 +23,8 @@
@Component
public class UserService implements IUserService {

private static Logger logger = LoggerFactory.getLogger(UserService.class);

@Autowired
private UserMapper userMapper;

Expand All @@ -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);
Expand All @@ -50,7 +55,6 @@ public List<UserDTO> getUsersByName(String username) {

public LoginDTO login(String username, String password) {
LoginDTO dto = new LoginDTO();

User entity = userMapper.getUserByName(username);

if (entity == null) {
Expand Down
15 changes: 15 additions & 0 deletions src/main/resources/logback-spring.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<property name="LOG_HOME" value="/data/logs/service"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<!-- 日志输出级别 -->
<root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
<!-- 自身的logger-->
<logger name="com.birthday.aisen"/>
</configuration>