Spring Security выбирает лениво загруженные свойства при аутентификации - PullRequest
0 голосов
/ 20 января 2020

Я новичок в Spring Security и использую Springboot, Mysql для создания примера приложения с аутентификацией с использованием jwt. Однако я заметил, что при запросе на вход в систему, когда происходит аутентификация, Spring Security извлекает все лениво загруженные свойства (в моем случае Роли, Личные данные). Есть ли способ сообщить Spring Security, чтобы он игнорировал дополнительный вызов для получения PersonalDetails.

Свойства приложения

 logging.level.org.hibernate.SQL=DEBUG
 logging.level.org.hibernate.type=TRACE

Модель пользователя

public class User {

    private Long id;

    private String username;

    private String password;

    @OneToOne(fetch=FetchType.LAZY, mappedBy="user")
    private PersonalDetails personalDetails;

    @ManyToMany(fetch = FetchType.LAZY)
    private Set<Role> roles = new HashSet<>();

   // getters and setters
}

AuthController

    @PostMapping("/signin")
    public ResponseEntity<?> signin(@Valid @RequestBody LoginRequest loginRequest) {

         Authentication authentication = 
                 authenticationManager
                       .authenticate(
                          new UsernamePasswordAuthenticationToken(
                                 loginRequest.getUsernameOrEmail(), 
                                 loginRequest.getPassword()
                        )
          );

         SecurityContextHolder.getContext().setAuthentication(authentication);

         String jwtToken = tokenProvider.generateToken(authentication);

         return ResponseEntity.ok(new JwtResponse(jwtToken));

      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...