Аутентификация пользователя во время выполнения Spring Data Rest + Spring Security - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь настроить небольшую службу Spring Data Rest, которая защищена Spring Security. В настоящее время у меня есть хранилище, аннотированное следующим образом, чтобы защитить его

@Repository
@PreAuthorize("hasAnyAuthority(@roleConfig.RWRole, @roleConfig.RORole)")
interface MyObjectRepository extends CrudRepository<MyObject, Integer> {
    @PreAuthorize("hasAnyAuthority(@roleConfig.RWRole)")
    @Override
    <S extends MyObject> S save(S myObject)

    @Override
    @PreAuthorize("hasAnyAuthority(@roleConfig.RWRole)")
    void delete(MyObject myObject)
}

Это обеспечивает безопасность, и я могу запускать тесты, пока я вызываю фактическую конечную точку / myObject. Однако, когда я настраиваю данные для тестов или проверяю результаты тестов, я получаю следующую ошибку:

org.springframework.security.authentication.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext

Я предполагаю, что это связано с тем, что в хранилище установлена ​​защита. Я пытаюсь выяснить, как настроить контекст безопасности для пользователя во время выполнения? Кроме того, следует отметить, что я тестирую с огурцом, который, по-видимому, плохо играет с аннотацией @WithMockUser.

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