2010-08-06 10 views
5

क्या मुख्य विफलता कारण के लिए javax.naming.AuthenticationException (या वसंत) की जांच करने के लिए एक साफ तरीका है? विभिन्न त्रुटियों को LDAP Wiki (Binding Errors) में अवरुद्ध किया गया है।त्रुटि कोड के लिए प्रमाणीकरण अपवाद का विश्लेषण करने के लिए एक साफ तरीका है?

प्रमाणीकरण अपवाद आसानी से त्रुटि कोड निर्धारित करने के लिए कोई पर्याप्त API प्रदान नहीं करता है। एकमात्र सामग्री अपवाद संदेश है।

[LDAP: error code 49 - 80090308: 
LdapErr: DSID-0C090334, 
comment: AcceptSecurityContext error, data 773, vece] 

identifing ब्लॉक "डेटा 773" है - त्रुटि ERROR_PASSWORD_MUST_CHANGE के लिए खड़ा है। लेकिन message.contains("data 773") की जांच करने के लिए मुझे बहुत अजीब लग रहा है! त्रुटि कोड की जांच करने का कोई बेहतर तरीका है?


टुकड़ा जो AuthenticationException फेंकता org.springframework.security.ldap.DefaultSpringSecurityContextSource साथ लिखा है।

InitialLdapContext context = (InitialLdapContext) contextFactory 
        .getReadWriteContext(principal, password); 

उत्तर

5

दुर्भाग्यवश यह एकमात्र तरीका है जिसे मैंने इसे संभाला है क्योंकि एलडीएपी सेवा द्वारा उत्पादित विफलता कोड (सक्रिय निर्देशिका) हमेशा संदेश में विफलता कोड को एन्कोड करता है। बहुत बुरा मत मानना ​​भले ही यह चीजों को करने का एक अच्छा तरीका नहीं है।

1

जहां तक ​​मुझे पता है, इसके लिए कोई बेहतर कार्यान्वयन नहीं है। आप बाहरी फ़ाइल में ldap त्रुटि कोड के लिए एक संपूर्ण अनुवाद प्रदान करने का प्रयास कर सकते हैं और अनुवाद के लिए उनका उपयोग कर सकते हैं।

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

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