2010-08-08 7 views
7

एक उदाहरण के उदाहरण के रूप में एक वसंत अवरोध यूआरएल विन्यास में ROLE_USER और ROLE_ANONYMOUS के बीच क्या अंतर है?स्प्रिंग इंटरसेप्ट यूआरएल कॉन्फ़िगरेशन में ROLE_USER और ROLE_ANONYMOUS के बीच क्या अंतर है?

<http auto-config="false" access-decision-manager-ref="accessDecisionManager" 
    use-expressions="true"> 
    <intercept-url pattern="/admin/**" access="hasRole('ROLE_ANONYMOUS')" 
     requires-channel="http" /> 
    <intercept-url pattern="/login/**" access="hasRole('ROLE_ANONYMOUS')" 
     requires-channel="${application.secureChannel}" /> 
    <intercept-url pattern="/error/**" access="hasRole('ROLE_ANONYMOUS')" 
     requires-channel="http" /> 
    <intercept-url pattern="/register/**" access="hasRole('ROLE_ANONYMOUS')" 
     requires-channel="${application.secureChannel}" /> 
    <intercept-url pattern="/" access="hasRole('ROLE_ANONYMOUS')" 
     requires-channel="http" /> 
    <intercept-url pattern="/**" access="hasRole('ROLE_USER')" 
     requires-channel="http" /> 
    <form-login login-page="/login" login-processing-url="/login/submit" 
     authentication-failure-url="/login/error" /> 
    <logout logout-url="/logout" /> 
</http> 

उत्तर

13

ROLE_ANONYMOUS विन्यास के आधार पर एक अप्रमाणित (अनाम) उपयोगकर्ता को असाइन डिफ़ॉल्ट भूमिका है जब एक विन्यास का उपयोग करता स्प्रिंग सुरक्षा के "anonymous authentication" filter है। यह डिफ़ॉल्ट रूप से सक्षम है। हालांकि, यदि आप अभिव्यक्ति isnonymous() अभिव्यक्ति का उपयोग करते हैं, तो यह संभवतः स्पष्ट है, जिसका अर्थ समान है।

ROLE_USER कोई अर्थ नहीं है जब वे प्रमाणीकृत हैं जब तक आप अपने उपयोगकर्ताओं को यह भूमिका असाइन (आप एक प्रमाणीकृत उपयोगकर्ता के लिए भूमिकाओं (अधिकारियों) लोड हो रहा है के प्रभारी रहे हैं) है। यह ऐसा नाम नहीं है जो स्प्रिंग सिक्योरिटी के बुनियादी ढांचे में बनाया गया हो। दिए गए उदाहरण में, संभवतः वह भूमिका किसी प्रमाणीकृत उपयोगकर्ता को असाइन की जाती है।

1

ROLE_ANONYMOUS कोई उपयोगकर्ता क्रेडेंशियल है, ROLE_USER उपयोगकर्ता क्रेडेंशियल ... प्रमाणीकृत किया गया है है।

यह मेरी व्याख्या प्रदान की

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

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