2015-06-28 20 views
7

Tôi có đoạn sauan ninh mùa xuân cấu hình không được hỗ trợ

<http use-expressions="true" auto-config="false" 
     entry-point-ref="loginUrlAuthenticationEntryPoint" 
     access-decision-manager-ref="accessDecisionManager" disable-url-rewriting="false"> 
     <!--<custom-filter position="CONCURRENT_SESSION_FILTER" ref="concurrencyFilter" 
      /> --> 
     <custom-filter position="FORM_LOGIN_FILTER" 
      ref="usernamePasswordAuthenticationFilter" /> 
     <custom-filter position="LOGOUT_FILTER" ref="tapLockFilter" /> 

     <intercept-url pattern="/session/**" access="permitAll" /> 
     <intercept-url pattern="/deviceregistration/**" access="permitAll" /> 
     <intercept-url pattern="/session/lock" access="hasRole('ROLE_MEMBER')" /> 
     <intercept-url pattern="/app/resources/admin*" access="hasRole('ROLE_ADMIN')" /> 
     <intercept-url pattern="/app/SuperAppdashboard*" access="hasRole('ROLE_ADMIN')" /> 
     <intercept-url pattern="/app/*" access="hasRole('ROLE_MEMBER')" /> 


     <!--<session-management invalid-session-url="/tizelytics/session/invalidSession" 
      session-authentication-error-url="/tizelytics/session/accessDenied" session-authentication-strategy-ref="sas"> 
      </session-management> --> 

     <session-management invalid-session-url="/session/invalidSession" 
      session-authentication-error-url="/session/accessDenied" 
      session-fixation-protection="none"> 
      <concurrency-control max-sessions="1" 
       expired-url="/session/accessExpired" /> 
     </session-management> 
</http> 

Khi tôi chạy này trên máy chủ của nó ném một ngoại lệ nói

cấu hình không được hỗ trợ thuộc tính: [permitAll, permitAll, hasRole ('ROLE_ADMIN '), hasRole (' ROLE_ADMIN '), hasRole (' ROLE_MEMBER '), hasRole (' ROLE_MEMBER ')]

đây là trình quản lý truy cập-quyết định bean của tôi hin xml cùng

<beans:bean id="accessDecisionManager" 
     class="org.springframework.security.access.vote.AffirmativeBased"> 
     <beans:constructor-arg> 
      <beans:list> 
       <beans:bean 
        class="org.springframework.security.access.vote.AuthenticatedVoter" /> 
       <beans:bean class="org.springframework.security.access.vote.RoleVoter" /> 
      </beans:list> 
     </beans:constructor-arg> 
</beans:bean> 

Nếu tôi loại bỏ các truy cập ra quyết định quản lý-ref không phải ngoại lệ được ném ra mắt ứng dụng một cách chính xác bất cứ ai có thể vui lòng tư vấn?

+0

'AccessDecisionManager' là dành cho tuổi dựa trên chuỗi định nghĩa điều kiện tiếp cận. Bạn đang sử dụng đánh giá dựa trên biểu thức, vì vậy bạn không cần nó. –

Trả lời

14

Vì bạn đang xác định accessDecisionManager của riêng mình, tôi không thấy WebExpressionVoter là một trong các hạt trong danh sách của nó. WebExpressionVoter giải quyết chuỗi như permitAll(), hasRole(), hasAuthority(), vv Vì vậy, đậu accessDecisionManager của bạn nên là:

<beans:bean id="accessDecisionManager" 
     class="org.springframework.security.access.vote.AffirmativeBased"> 
     <beans:constructor-arg> 
      <beans:list> 
       <beans:bean 
        class="org.springframework.security.access.vote.AuthenticatedVoter" /> 
       <beans:bean class="org.springframework.security.access.vote.RoleVoter" /> 
       <beans:bean class="org.springframework.security.web.access.expression.WebExpressionVoter" /> 
      </beans:list> 
     </beans:constructor-arg> 
</beans:bean> 
Các vấn đề liên quan