2013-09-02 59 views
5

Sau khi nâng cấp lên Spring Security 3.2.0.RC1 Tôi nhận được cảnh báo "Phương thức 'setFilterProcessesUrl' được đánh dấu không dùng nữa" cho <http auto-config="true"> trong cấu hình xml của tôi. Tôi nhận được cảnh báo này ngay cả đối với một cấu hình rất đơn giản:Bảo mật mùa xuân 3.2.0.RC1 - <http> yếu tố và phương pháp không được chấp nhận

<beans:beans xmlns="http://www.springframework.org/schema/security" 
    xmlns:beans="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/security 
    http://www.springframework.org/schema/security/spring-security.xsd"> 

    <http auto-config="true"> 
     <intercept-url pattern="/myurl*" access="ROLE_USER" /> 
    </http> 

    <authentication-manager> 
     <authentication-provider> 
      <user-service> 
       <user name="user1" password="12345" authorities="ROLE_USER" /> 
      </user-service> 
     </authentication-provider> 
    </authentication-manager> 

</beans:beans> 


Theo Xuân An 3.2 API documentationsetFilterProcessesUrl bị phản đối và setRequiresAuthenticationRequestMatcher (RequestMatcher) nên được sử dụng để thay thế. Làm thế nào tôi có thể thay đổi cấu hình XML cơ bản này, vì vậy nó không sử dụng các phương pháp không được chấp nhận? Tôi đang sử dụng Eclipse Kepler với plugin Spring Tool Suite.

UPDATE:

Nếu tôi loại bỏ <http auto-config="true"> và thêm <form-login /> đến các yếu tố http

<http> 
    <intercept-url pattern="/myurl*" access="ROLE_USER" /> 
    <form-login /> 
</http> 

Tôi cũng nhận được "Phương pháp 'setFilterProcessesUrl' được đánh dấu phản đối" cảnh báo và nếu tôi thêm <logout /> tôi nhận được cảnh báo tương tự lần thứ hai. Mặt khác, nếu tôi thay thế <form-login /><logout /> bằng <http-basic /> các cảnh báo sẽ biến mất.

+0

Vấn đề tương tự với Spring Security 3.2.0.RC2. Tôi thực sự không hiểu, tại sao họ sẽ không dùng một phương pháp mà vẫn được sử dụng bởi không gian tên riêng của họ? Giải pháp duy nhất hiện nay dường như đang quay trở lại 3.2.0.M2. – John29

Trả lời

2

Cố định trong Bảo mật mùa xuân 3.2.1. Các cảnh báo đã được gây ra bởi không gian tên XML bằng cách sử dụng một phương pháp không được chấp nhận. https://jira.springsource.org/browse/SEC-2455

+0

Cảm ơn câu trả lời này. Tìm kiếm giải pháp về cách sửa lỗi này. –

2

Nếu bạn đang sử dụng không gian tên thì lỗi IDE như thế này không thực sự quan trọng, vì bạn có thể đảm bảo rằng Spring Security sẽ hỗ trợ tính năng này. Bạn không thực sự sử dụng phương pháp này.

auto-config thường là một ý tưởng tồi. Ai đó nhìn vào cấu hình đó sẽ không dễ dàng biết được nó thực sự làm gì. Bạn có thực sự muốn xác thực cơ bản không? Bạn nên xóa auto-config và thêm một cách rõ ràng các tính năng bạn muốn.

+1

Cảm ơn Luke, bạn đúng về 'auto-config' là một ý tưởng tồi, tôi chỉ sử dụng nó trong ví dụ của tôi để làm cho nó ít tiết hơn. Tôi đã thay thế nó bằng '' và '' nhưng cảnh báo vẫn còn đó. Tôi hiểu rằng cảnh báo chỉ là cảnh báo, nhưng nếu có cách khắc phục, tôi muốn làm điều đó, đặc biệt vì đó là cảnh báo duy nhất trong dự án của tôi và tôi không nhận được cảnh báo bằng Spring Security 3.2. 0.M2. – John29