Skip to content
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,11 @@ public RequestInfo getRequestInfo() {
String url = request.getRequestURI();

// 토큰으로부터 요청한 사용자의 userId
Long userId = jwtUtil.extractId(request);
Long userId = null;
// 로그인, 회원가입 등 토큰 체크 안 할 URL 처리
if (!url.startsWith("/api/auth/login") && !url.startsWith("/api/auth/register")) {
userId = jwtUtil.extractId(request);
}

return new RequestInfo(ip, enumMethod, url, userId);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,15 @@ public void updateTaskStatusMethod() {
}

// 로그인 시 자동 로그 기록
// @AfterReturning(pointcut = "loginMethod()", returning = "result")
// public void logLoginMethod(Object result) {
//
// // HttpServletRequest으로부터 요청 ip, 메서드, url
// HttpRequestUtil.RequestInfo request = httpRequestUtil.getRequestInfo();
//
// // 로그 저장
// logService.saveLoginLog(request.getIp(), request.getMethod(), request.getUrl(), result);
// }
@AfterReturning(pointcut = "loginMethod()", returning = "result")
public void logLoginMethod(Object result) {

// HttpServletRequest으로부터 요청 ip, 메서드, url
HttpRequestUtil.RequestInfo request = httpRequestUtil.getRequestInfo();

// 로그 저장
logService.saveLoginLog(request.getIp(), request.getMethod(), request.getUrl(), result);
}

// 생성, 수정, 삭제 시 자동 로그 기록
@AfterReturning(pointcut = "cudMethods()", returning = "result")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import com.example.onederful.domain.log.repository.LogRepository;
import com.example.onederful.domain.log.repository.LogSpecification;
import com.example.onederful.domain.task.dto.response.TaskResponse;
import com.example.onederful.domain.user.dto.Tokeninfo;
import com.example.onederful.domain.user.entity.User;
import com.example.onederful.domain.user.repository.UserRepository;
import com.example.onederful.exception.CustomException;
Expand Down Expand Up @@ -65,38 +66,38 @@ public LogsResponse findLog(
}

// 로그인 시 로그 기록
// @Transactional
// public void saveLoginLog(String ip, Method method, String url, Object result) {
// // userId
// Long userId = null;
// if (result instanceof Tokeninfo) {
// String token = ((Tokeninfo) result).getToken();
// userId = jwtUtil.extractAllClaims(token).get("id", Long.class);
// }
//
// // 현재 유저 조회
// User user = userRepositry.findById(userId).orElseThrow(
// () -> new CustomException(ErrorCode.UNAUTHORIZED)
// );
//
// // 활동 유형
// Activity activity = Activity.USER_LOGGED_IN;
//
// // 대상 id
// Long targetId = userId;
//
// // 로그 DB에 저장
// Log log = Log.builder()
// .user(user)
// .activity(activity)
// .ipAddress(ip)
// .method(method)
// .targetId(targetId)
// .requestUrl(url)
// .build();
//
// logRepository.save(log);
// }
@Transactional
public void saveLoginLog(String ip, Method method, String url, Object result) {
// userId
Long userId = null;
if (result instanceof Tokeninfo) {
String token = ((Tokeninfo) result).getToken();
userId = jwtUtil.extractAllClaims(token).get("id", Long.class);
}

// 현재 유저 조회
User user = userRepositry.findById(userId).orElseThrow(
() -> new CustomException(ErrorCode.UNAUTHORIZED)
);

// 활동 유형
Activity activity = Activity.USER_LOGGED_IN;

// 대상 id
Long targetId = userId;

// 로그 DB에 저장
Log log = Log.builder()
.user(user)
.activity(activity)
.ipAddress(ip)
.method(method)
.targetId(targetId)
.requestUrl(url)
.build();

logRepository.save(log);
}

// 생성, 수정, 삭제 시 로그 기록
@Transactional
Expand Down