2012-11-13 31 views
8

Çalıştır özelliğini Spring Security 3.1'de çalıştırmaya çalışıyorum. Garip olan şey, tek bir örnek bulamıyorum. Spring Security Book bile konuyu kapsamaz.Yay Güvenliği 3.1 Çalıştırma

Başvuru içeriğimin güvenlik kısmı aşağıdadır. Çalışma zamanı Bahar At

<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> 

'sihirli' org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor bir örneğini oluşturur ancak benim runAsManager tel etmez ve bu nedenle varsayılan olarak oluşturulur NullRunAsManager kullanır.

Bana @RunAs gibi JSR-250 ek açıklamaları kullanıp çalıştırmayı gösteren geçerli bir Spring Security 3.1 örneği gösterebilir misiniz?

+1

Örneklerin eksikliğinden şaşkındım, bu yüzden bir süre önce kendimce ayrıntılı bir yazı yazdım: https://dzone.com/articles/spring-security-run-example – kaqqao

cevap

3

Aslında RunAsManager ayarlamak için Bahar Güvenlik XML ad alanını kullanabilirsiniz: Ben herhangi bir out-of-box @RunAs entegrasyon bilmiyorum

<sec:global-method-security run-as-manager-ref="runAsManager"> 
    <!-- Rest of your code --> 
</sec:global-method-security> 

. Ama eminim ki bunu kendiniz uygulamak ve Spring Security ile entegre etmek mümkündür.

İlgili konular