Como conceder acesso a todos os usuários autenticados?
-
23-08-2019 - |
Pergunta
Necessidade de conceder acesso a usuários sem qualquer papel usando Spring Security. Qualquer como a autenticação processo deve ser concedido o acesso a qualquer URL. Então, eu posso fazer isso por algo parecido com isso ou pode ser de alguma forma mais?
<http auto-config='true'>
<intercept-url pattern="/**" access="ALL" />
<intercept-url pattern="/login.jsp" filters="none" />
<form-login login-page="/login.jsp" />
</http>
Solução
você provavelmente está procurando IS_AUTHENTICATED_FULLY ou IS_AUTHENTICATED_REMEMBERED ou IS_AUTHENTICATED_ANONYMOUSLY
Outras dicas
Na verdade, você só precisa criar o seu próprio AccessDecisionManager, e sua própria AccessDecisionVoter (s) e passá-las para o bloco como este:
<http .... access-decsion-manager="myAccessManager">
.....
</http>
<bean id="myAccessManager" class="org.springframework.security.vote.AffirmativeBased">
<property name="decisionVoters">
<list>
<bean id="myVoter" class=[some subclass of AccessDecisionVoter] />
</list>
</property>
</bean>
Esta não é a solução 100%, mas deve começar no caminho certo. A configuração "auto-config" em Spring Security cria um monte dessas classes em segundo plano, e carrega automaticamente-los se não há outros feijões das classes corretas disponíveis.