में एलडीएपी का उपयोग कर एक सक्रिय निर्देशिका उपयोगकर्ता खाता लॉक है या नहीं, मैं पाइथन के एलडीएपी मॉड्यूल का उपयोग कर उपयोगकर्ता लॉगिन को मान्य कर रहा हूं। जब लॉगिन विफल रहता है, तो मुझे ldap.INVALID_CREDENTIALS लॉगिन मिलता है, लेकिन यह गलत पासवर्ड की वजह से हो सकता है या क्योंकि खाता लॉक हो जाता है। तीसरे प्रयास के बाद खाता लॉक हो गया है।पता लगाएं कि पाइथन
मैं यह जानना चाहता हूं कि खाता लॉक है और उसी "अमान्य लॉगिन" संदेश की बजाय निराश उपयोगकर्ता को रिपोर्ट करें।
एक समाधान मैंने पाया इसकी खोज:
- userAccountControl LOCKED झंडा ई द्वारा नहीं किया जाता है;
- lockoutTime विशेषता के बजाय इस्तेमाल किया जाना चाहिए
LDAP क्वेरी मैं बंद कर दिया उपयोगकर्ताओं को खोजने के लिए उपयोग करना चाहिए है:
(&(objectClass=user)(lockoutTime>=1))
या किसी विशिष्ट उपयोगकर्ता के लिए:
(&(objectClass=user)(sAMAccountName=jabberwocky)(lockoutTime>=1))
लेकिन यह काम नहीं कर रहा है, क्वेरी हर बार कोई परिणाम नहीं देता है।
के बराबर नहीं है मैं 'मिल ldap.FILTER_ERROR: { 'की वर्णन': 'बुरा खोज फ़िल्टर'} 'अगर उपयोग कर रहे हैं (! lockoutTime = 0) ', या यहां तक कि' (लॉकआउटटाइम> 0) '। केवल '(! LockoutTime> = 1) 'इस से बचने के लिए प्रतीत होता है। –