2011-10-21 15 views
6

के साथ प्री-प्रमाणीकरण वेबस्पेयर एलटीपीए एसएसओ टोकन के माध्यम से प्री-प्रमाणीकरण दिए गए स्प्रिंग संदर्भ को शुरू करने का सबसे अच्छा तरीका क्या है? अभी मेरे पास एक कस्टम फ़िल्टर है जो एक पूर्व प्राधिकृत प्रमाणीकरण प्रदान करता है स्प्रिंग सुरक्षा संदर्भ में टोकन। क्या कोई मौजूदा फ़िल्टर है जो मेरे लिए यह स्वचालित रूप से करेगा? जब मैंने प्रीऑथ कक्षाओं का उपयोग करने की कोशिश की है तो मैंने हमेशा GrantedAuthorities के साथ परेशानी में भाग लिया है।एलटीपीए टोकन

चीयर्स

उत्तर

1

बेस्ट विकल्प AbstractPreAuthenticatedProcessingFilter बढ़ा कर एक कस्टम preauthentication फिल्टर है।

आप अनुरोध से टोकन ला सकते हैं और इसे GetPreAuthenticatedCredentials() विधि में वापस कर सकते हैं।

आप अपनी खुद की AuthenticationUserDetailsService परिभाषित कर सकते हैं और यह PreAuthenticatedAuthenticationProvider के पास, यहाँ आप दी गई अधिकारियों प्राप्त कर सके और उन्हें लौटने UserDetails वस्तु

<bean id="preAuthAuthenticationProvider" 
      class="org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider"> 
     <property name="preAuthenticatedUserDetailsService"> 
      <bean id="myUserDetailsService" 
        class="MyUserDetailsService"> 
      </bean> 
     </property> 
    </bean> 

में आप प्रमाणन प्रदान की है, डिफ़ॉल्ट उपसर्ग भूमिका के साथ शुरू नहीं हैं, तो आप आपके कस्टम उपसर्ग को परिभाषित कर सकते हैं

<bean id="myPermissionRoleVoter" class="org.springframework.security.access.vote.RoleVoter"> 
     <property name="rolePrefix" value="myprefix"/> 
    </bean> 
संबंधित मुद्दे