Динамически переопределить предоставленные полномочия для уже аутентифицированного пользователя
Я пишу тесты на селен для моего весеннего загрузочного приложения с веб-интерфейсом реакции. Приложение имеет аутентификацию, выполненную через OAuth2 через @EnableOAuth2Sso
,
Мне нужно протестировать вариант использования, при котором пользователь с определенными полномочиями может получить доступ к приложению, где пользователь без этих полномочий не может этого сделать.
Моя первоначальная мысль заключается в предоставлении пользовательских @Controller
с пометкой @Profile("integrationTests")
что позволяет настроить состояние приложения для целей тестирования. В данном конкретном случае я ищу способ переопределить предоставленные права доступа в существующем объекте аутентификации.
Наивная идея SecurityContextHolder.getContext().setAuthentication(authenticationWithCustomGrantedAuthorities);
не будет работать, так как это установит аутентификацию только на ThreadLocal и не повлияет на любой последующий запрос.
Любые советы, как этого добиться?