From 96a39edcbe70e1f6a9b207147dc37a30b306f864 Mon Sep 17 00:00:00 2001 From: IgraMaga Date: Wed, 19 Feb 2025 17:16:43 +0300 Subject: [PATCH] =?UTF-8?q?2=20=D0=9F=D1=80=D0=BE=D0=BC=D0=B5=D0=B6=D1=83?= =?UTF-8?q?=D1=82=D0=BE=D1=87=D0=BD=D1=8B=D0=B9=20=D1=80=D0=B5=D0=B7=D1=83?= =?UTF-8?q?=D0=BB=D1=8C=D1=82=D0=B0=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/nto/config/WebSecurityConfig.java | 3 +++ .../example/nto/controller/EmployeeController.java | 14 ++++++++++++-- .../java/com/example/nto/entity/Credentials.java | 3 --- src/main/java/com/example/nto/entity/Employee.java | 2 -- .../nto/service/impl/EmployeeCodeServiceImpl.java | 1 - .../nto/service/impl/UserDetailsServiceImpl.java | 4 ++-- 6 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/example/nto/config/WebSecurityConfig.java b/src/main/java/com/example/nto/config/WebSecurityConfig.java index 5dc057d..8ed8804 100644 --- a/src/main/java/com/example/nto/config/WebSecurityConfig.java +++ b/src/main/java/com/example/nto/config/WebSecurityConfig.java @@ -1,10 +1,12 @@ package com.example.nto.config; +import com.example.nto.service.EmployeeService; import lombok.RequiredArgsConstructor; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.support.ErrorPageFilter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; @@ -49,6 +51,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { .passwordEncoder(passwordEncoder()); } + @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); diff --git a/src/main/java/com/example/nto/controller/EmployeeController.java b/src/main/java/com/example/nto/controller/EmployeeController.java index b7f7999..a11a32b 100644 --- a/src/main/java/com/example/nto/controller/EmployeeController.java +++ b/src/main/java/com/example/nto/controller/EmployeeController.java @@ -29,7 +29,17 @@ public class EmployeeController { @GetMapping("/login") public ResponseEntity login(Authentication authentication) { - System.out.println("out" + authentication.getAuthorities()); - return ResponseEntity.ok(employeeService.getUserByUsername(authentication.getName())); + System.out.println("Authentication object: " + authentication); + String username = authentication.getName(); + System.out.println("Username: " + username); + + EmployeeDTO employeeDTO = employeeService.getUserByUsername(username); + if (employeeDTO == null) { + System.out.println("User not found for username: " + username); + return ResponseEntity.status(404).body(null); + } + + System.out.println("EmployeeDTO: " + employeeDTO); + return ResponseEntity.ok(employeeDTO); } } diff --git a/src/main/java/com/example/nto/entity/Credentials.java b/src/main/java/com/example/nto/entity/Credentials.java index d9cd486..faf549d 100644 --- a/src/main/java/com/example/nto/entity/Credentials.java +++ b/src/main/java/com/example/nto/entity/Credentials.java @@ -19,7 +19,4 @@ public class Credentials { @Column(name = "hashed_password") private String hashedPassword; - @OneToMany(mappedBy = "credentials") - @JsonIgnore - private List employees; } \ No newline at end of file diff --git a/src/main/java/com/example/nto/entity/Employee.java b/src/main/java/com/example/nto/entity/Employee.java index 3d0c1cf..2615daa 100644 --- a/src/main/java/com/example/nto/entity/Employee.java +++ b/src/main/java/com/example/nto/entity/Employee.java @@ -40,8 +40,6 @@ public class Employee implements UserDetails { private Credentials credentials; @Column(name = "photo") private String photo; - @ManyToMany(fetch = FetchType.EAGER) - private Set authorities; @Column(name = "position") private String position; @Column(name = "lastVisit") diff --git a/src/main/java/com/example/nto/service/impl/EmployeeCodeServiceImpl.java b/src/main/java/com/example/nto/service/impl/EmployeeCodeServiceImpl.java index f722dab..83a6a04 100644 --- a/src/main/java/com/example/nto/service/impl/EmployeeCodeServiceImpl.java +++ b/src/main/java/com/example/nto/service/impl/EmployeeCodeServiceImpl.java @@ -113,7 +113,6 @@ public class EmployeeCodeServiceImpl implements EmployeeService, CodeService { employee.setLogin(dto.getLogin()); employee.setName(dto.getName()); employee.setPassword(passwordEncoder.encode(dto.getPassword())); - employee.setAuthorities(Set.of(roleUser.get())); employee.setCredentials(credentials); employee.setAuthority(roleUser.get()); diff --git a/src/main/java/com/example/nto/service/impl/UserDetailsServiceImpl.java b/src/main/java/com/example/nto/service/impl/UserDetailsServiceImpl.java index bf2a403..c6a5ef7 100644 --- a/src/main/java/com/example/nto/service/impl/UserDetailsServiceImpl.java +++ b/src/main/java/com/example/nto/service/impl/UserDetailsServiceImpl.java @@ -14,10 +14,10 @@ import java.util.Optional; @RequiredArgsConstructor public class UserDetailsServiceImpl implements UserDetailsService { - private final EmployeeRepository usersRepository; + private final EmployeeRepository employeeRepository; @Override public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException { - Optional optionalUsers = usersRepository.findByLogin(s); + Optional optionalUsers = employeeRepository.findByLogin(s); if(optionalUsers.isEmpty()) { throw new UsernameNotFoundException("User not found");