2015-12-11 8 views
5

में वसंत सुरक्षा फ़िल्टर श्रृंखला से पहले एक फ़िल्टर को आमंत्रित करें मैंने नीचे अपना फ़िल्टर कॉन्फ़िगर किया है लेकिन इसे स्प्रिंग सुरक्षा फ़िल्टर श्रृंखला से पहले नहीं बुलाया जाता है। मैं जो फिल्टर पर स्थापित करने के आदेश का समर्थनबूट

@Bean 
public FilterRegistrationBean filterRegistrationBean() { 

    FilterRegistrationBean registrationBean = new FilterRegistrationBean(); 

    registrationBean.setFilter(new UrlRewriteFilter()); 
    registrationBean.addUrlPatterns("*"); 
    registrationBean.addInitParameter("confReloadCheckInterval", "5"); 
    registrationBean.addInitParameter("logLevel", "DEBUG"); 
    registrationBean.addInitParameter("confPath", "urlrewrite.xml"); 
    registrationBean.setOrder(0); 

    return registrationBean; 
} 

उत्तर

6

application.properties

security.filter-order=5 

मैं इस अपने आप को नहीं किया है मैं वसंत बूट 1.3 उपयोग कर रहा हूँ शून्य

के रूप में आदेश की स्थापना की है लेकिन ऐसा लगता है कि कोड को देखते हुए आपको केवल सुरक्षा फ़िल्टर के आदेश के लिए एक संपत्ति सेट करने की आवश्यकता है। उदाहरण के लिए application.properties

यह सुरक्षा फ़िल्टर से पहले अपने फ़िल्टर को ऑर्डर करना चाहिए। मुझे नहीं पता कि इस आदेश को बदलने के प्रभाव क्या हैं, जहां तक ​​सुरक्षा जाती है, यह मेरे लिए थोड़ा जोखिम भरा लगता है। इस बारे में वसंत डेवलपर्स के बीच एक चर्चा है। यह उन लोगों को लागू करता है जो मेरा उत्तर ऊपर था।

चर्चा

https://github.com/spring-projects/spring-boot/issues/1640

दिखा क्या इस संपत्ति है।

https://github.com/spring-projects/spring-boot/blob/1.2.x/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/security/SecurityAutoConfigurationTests.java

+0

प्रदान करने के लिए Zergleb धन्यवाद (testCustomFilterOrder() के लिए खोज) टेस्टउपाय। Application.properties में "security.filter-order = 5" जोड़ना चाल था –