2011-09-12 9 views
19

स्प्रिंग सिक्योरिटी पेटक्लिनिक उदाहरण से यहां एक हिस्सा है:Access = "permitAll" और फ़िल्टर = "none" के बीच अंतर?

<http use-expressions="true"> 
    <intercept-url pattern="/" access="permitAll"/> 
    <intercept-url pattern="/static/**" filters="none" /> 
    <intercept-url pattern="/**" access="isAuthenticated()" /> 
    <form-login /> 
    <logout /> 
</http> 

access = "permitAll" और फ़िल्टर = "none" के बीच क्या अंतर है?

यूआरएल:http://static.springsource.org/spring-security/site/petclinic-tutorial.html

उत्तर

28

अंतर यह है कि filters = "none" निर्दिष्ट URL के लिए अक्षम कर देता है वसंत सुरक्षा फिल्टर, जबकि access = "permitAll" फिल्टर अक्षम किए बिना प्राधिकरण कॉन्फ़िगर करता है।

अभ्यास में, filters = "none" समस्याएं पैदा कर सकती हैं जब इसके पीछे संसाधनों को वसंत सुरक्षा की कुछ कार्यक्षमता की आवश्यकता होती है। उदाहरण के लिए, आप उपयोगकर्ता पंजीकरण पृष्ठ के लिए इसका उपयोग नहीं कर सकते हैं जो सबमिट पर प्रोग्रामेटिक लॉगिन करता है (User Granted Authorities are always : ROLE_ANONYMOUS?)।

+0

तो क्या मुझे एक सुरक्षित एप्लिकेशन के लिए सीएसएस और जेएस फाइलों के लिए 'filter =" permitAll "' 'filter =" none "के बजाय ''' का उपयोग करना चाहिए? – kamaci

+0

मैंने आपके लिंक पर भी टिप्पणी की। – kamaci

+0

@kamaci: जहां तक ​​मैं समझता हूं, 'फ़िल्टर = "कोई नहीं" स्थिर संसाधनों के लिए कोई समस्या नहीं है। हालांकि, यदि आप इसे गतिशील संसाधनों के लिए उपयोग करते हैं, तो आपको अंतर को ध्यान में रखना होगा। – axtavt

संबंधित मुद्दे