移除autowired

This commit is contained in:
2025-05-09 15:35:13 +09:00
parent 320a344c04
commit f335896f4f
4 changed files with 16 additions and 22 deletions

View File

@ -2,7 +2,6 @@ package co.jp.app.config.security;
import co.jp.app.config.security.filter.JwtAuthenticationFilter; import co.jp.app.config.security.filter.JwtAuthenticationFilter;
import co.jp.app.service.UserService; import co.jp.app.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.AuthenticationManager;
@ -20,11 +19,13 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic
@Configuration @Configuration
public class SecurityConfig { public class SecurityConfig {
@Autowired private final JwtAuthenticationFilter jwtAuthenticationFilter;
private JwtAuthenticationFilter jwtAuthenticationFilter; private final UserService userService;
@Autowired public SecurityConfig(JwtAuthenticationFilter jwtAuthenticationFilter, UserService userService) {
private UserService userService; this.jwtAuthenticationFilter = jwtAuthenticationFilter;
this.userService = userService;
}
@Bean @Bean
public PasswordEncoder passwordEncoder() { public PasswordEncoder passwordEncoder() {

View File

@ -7,7 +7,6 @@ import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.lang.NonNull; import org.springframework.lang.NonNull;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
@ -20,11 +19,13 @@ import org.springframework.web.filter.OncePerRequestFilter;
@Component @Component
public class JwtAuthenticationFilter extends OncePerRequestFilter { public class JwtAuthenticationFilter extends OncePerRequestFilter {
@Autowired private final JwtService jwtService;
private JwtService jwtService; private final UserService userService;
@Autowired public JwtAuthenticationFilter(JwtService jwtService, UserService userService) {
private UserService userService; this.jwtService = jwtService;
this.userService = userService;
}
@Override @Override
protected void doFilterInternal(@NonNull HttpServletRequest request, @NonNull HttpServletResponse response, @NonNull FilterChain filterChain) protected void doFilterInternal(@NonNull HttpServletRequest request, @NonNull HttpServletResponse response, @NonNull FilterChain filterChain)

View File

@ -5,7 +5,6 @@ import co.jp.app.dto.LoginDto;
import co.jp.app.dto.RegistrationDto; import co.jp.app.dto.RegistrationDto;
import co.jp.app.service.JwtService; import co.jp.app.service.JwtService;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.AuthenticationManager;
@ -32,7 +31,6 @@ public class UserController {
private final AuthenticationManager authenticationManager; private final AuthenticationManager authenticationManager;
private final JwtService jwtService; private final JwtService jwtService;
@Autowired
public UserController(UserService userService, AuthenticationManager authenticationManager, JwtService jwtService) { public UserController(UserService userService, AuthenticationManager authenticationManager, JwtService jwtService) {
this.userService = userService; this.userService = userService;
this.authenticationManager = authenticationManager; this.authenticationManager = authenticationManager;

View File

@ -7,7 +7,7 @@ import java.util.List;
import co.jp.app.dto.RegistrationDto; import co.jp.app.dto.RegistrationDto;
import co.jp.app.entity.UserEntity; import co.jp.app.entity.UserEntity;
import co.jp.app.repository.UserRepository; import co.jp.app.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired; import org.jetbrains.annotations.NotNull;
import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.User;
@ -27,17 +27,16 @@ public class UserService implements UserDetailsService {
private final UserRepository userRepository; private final UserRepository userRepository;
private final PasswordEncoder passwordEncoder; private final PasswordEncoder passwordEncoder;
@Autowired
public UserService(UserRepository userRepository, PasswordEncoder passwordEncoder) { public UserService(UserRepository userRepository, PasswordEncoder passwordEncoder) {
this.userRepository = userRepository; this.userRepository = userRepository;
this.passwordEncoder = passwordEncoder; this.passwordEncoder = passwordEncoder;
} }
@Transactional @Transactional
public UserEntity registerNewUser(RegistrationDto registrationDto) throws Exception { public UserEntity registerNewUser(@NotNull RegistrationDto registrationDto) throws Exception {
if (userRepository.existsByEmail(registrationDto.getEmail())) { if (userRepository.existsByEmail(registrationDto.getEmail())) {
throw new Exception("错误:邮箱 " + registrationDto.getEmail() + " 已被注册!"); throw new Exception("エラー:メール:" + registrationDto.getEmail() + " はすでに登録されました。");
} }
UserEntity newUser = new UserEntity(); UserEntity newUser = new UserEntity();
@ -52,7 +51,7 @@ public class UserService implements UserDetailsService {
@Transactional(readOnly = true) @Transactional(readOnly = true)
public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException { public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException {
UserEntity userEntity = userRepository.findByEmail(email) UserEntity userEntity = userRepository.findByEmail(email)
.orElseThrow(() -> new UsernameNotFoundException("未找到邮箱为: " + email + " 的用户")); .orElseThrow(() -> new UsernameNotFoundException(email + " not found"));
Collection<? extends GrantedAuthority> authorities = Collections.singletonList(new SimpleGrantedAuthority("ROLE_USER")); // 示例给所有用户一个ROLE_USER权限 Collection<? extends GrantedAuthority> authorities = Collections.singletonList(new SimpleGrantedAuthority("ROLE_USER")); // 示例给所有用户一个ROLE_USER权限
@ -66,9 +65,4 @@ public class UserService implements UserDetailsService {
authorities // 用户的权限集合 authorities // 用户的权限集合
); );
} }
public boolean checkPassword(UserEntity user, String rawPassword) {
return passwordEncoder.matches(rawPassword, user.getPassword());
}
} }