J'essaye de faire fonctionner la fonction Run-As dans Spring Security 3.1. La chose étrange est que je ne peux pas trouver un seul exemple. Même le Spring Security Book ne couvre pas le sujet du tout.Spring Security 3.1 Run-As
Voici la partie sécurité de mon contexte d'application.
<security:global-method-security
pre-post-annotations="enabled">
<security:expression-handler ref="customExpressionHandler"/>
</security:global-method-security>
<bean id="runAsManager"
class="org.springframework.security.access.intercept.RunAsManagerImpl">
<property name="key" value="my_run_as_password"/>
</bean>
<bean id="runAsAuthenticationProvider"
class="org.springframework.security.access.intercept.RunAsImplAuthenticationProvider">
<property name="key" value="my_run_as_password"/>
</bean>
<security:http auto-config="true" create-session="always">
<security:remember-me key="njc2"/>
<security:session-management invalid-session-url="/sessionTimeout.html"/>
<security:intercept-url pattern="/**" access="ROLE_USER"/>
<security:form-login login-page='/login.html'
authentication-success-handler-ref="njcAuthenticationSuccessHandler"
authentication-failure-url="/login-failure.html"/>
<security:logout invalidate-session="true" logout-url="/j_spring_security_logout"
logout-success-url="/login.html"/>
</security:http>
Lors de l'exécution Spring 'par magie crée une instance de org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor
mais ne pas câbler mon runAsManager
et utilise donc le NullRunAsManager
qui est créé par défaut. Pouvez-vous me montrer un exemple valable de Spring Security 3.1 qui montre comment utiliser et utiliser les annotations JSR-250 telles que @RunAs
?
J'ai aussi été intrigué par le manque d'exemples, alors j'en ai écrit moi-même un détail: https://dzone.com/articles/spring-security-run-example – kaqqao