Я использую Spring Security и хочу иметь возможность работать с «локальным» профилем с отключенной защитой. Я могу сделать это, используя управляемый профилем WebSecurityConfigurerAdapter
, который разрешает анонимный доступ, но проблема в том, что любые Principal
или Authentication
аргументы методов контроллера равны нулю.
Способ, который я решил это прежде, чем передать аргументы через адаптер, который имеет нелокальную сквозную реализацию и реализацию «локального» профиля, которая заменяет сконфигурированное значение:
@GetMapping()
public ResponseEntity<List<Thing>> getThings(Principal principal) {
Principal myPrincipal = securityAdapter.principal(principal);
...
}
Но это кажется действительно неуклюжим. Есть ли способ настроить Spring Security для замены, чтобы я мог сохранить код в чистоте?