AuthUtilImpl.java
package com.nashtech.rookie.asset_management_0701.utils.auth_util;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Component;
import com.nashtech.rookie.asset_management_0701.entities.User;
import com.nashtech.rookie.asset_management_0701.exceptions.AppException;
import com.nashtech.rookie.asset_management_0701.exceptions.ErrorCode;
import com.nashtech.rookie.asset_management_0701.repositories.UserRepository;
import lombok.RequiredArgsConstructor;
@Component
@RequiredArgsConstructor
public class AuthUtilImpl implements AuthUtil{
private final UserRepository userRepository;
@Override
public String getCurrentUserName () {
var authentication = SecurityContextHolder.getContext().getAuthentication();
return authentication.getName();
}
@Override
public User getCurrentUser () {
var authentication = SecurityContextHolder.getContext().getAuthentication();
var username = authentication.getName();
return userRepository.findByUsername(username)
.orElseThrow(() -> new AppException(ErrorCode.USER_NOT_FOUND));
}
}