Esta é uma espécie de pergunta vinda do outro lado, mas pensei em jogar porque eu realmente tinha que cavar na internet para descobrir isso.
Há muitas coisas sobre como verificar papéis, mas não há muito que dizer o que você está realmente verificando quando diz hasRole ("blá")
HasRole verifica as autoridades concedidas para o principal atualmente autenticado
Então, realmente, quando você vê hasRole ("blah"), realmente significa hasAuthority ("blah") .
No caso que vi, você faz isso com uma classe que implementa UserDetails, que define um método chamado getAuthorities. Nisto, você basicamente adicionará algunsnew SimpleGrantedAuthority("some name")
a uma lista com base em alguma lógica. Os nomes nesta lista são os itens verificados pelas instruções hasRole.
Acho que, neste contexto, o objeto UserDetails é o principal atualmente autenticado. Existe alguma mágica que acontece dentro e ao redor dos provedores de autenticação e, mais especificamente, do gerenciador de autenticação que faz isso acontecer.
SecurityContextHolderAwareRequestWrapper
instância. Você poderia melhorá-lo explicando como obtê-lo e esclarecendo um pouco mais a própria resposta.