मैं वर्तमान में एक पहचान प्रबंधन समाधान लागू कर रहा हूं जो उपयोगकर्ताओं को उनके सभी एंडपॉइंट खातों को प्रबंधित करने की क्षमता प्रदान करेगा।
वर्तमान में, हमारी कंपनी पासवर्ड नीति डिफ़ॉल्ट विंडोज आवश्यकताओं से मेल खाती है: इसमें दूसरों के बीच या तो एक संख्या या विशेष चरित्र होना चाहिए।
दुर्भाग्यवश, नई प्रणाली की पासवर्ड नीति में, हमें एक संख्या, विशेष, या दोनों की आवश्यकता हो सकती है, लेकिन "इनमें से कोई भी नहीं"। हालांकि, नई प्रणाली नियमित अभिव्यक्ति द्वारा सत्यापन की अनुमति देती है।
वर्तमान में, हमारे पास निम्न रेगेक्स को डिस्लो करने के लिए यह सेट है:
.*[pP][aA4][sS$]{2}[wW][oO0][rR][dD].*
यह बहुत अच्छी तरह से काम करता है। हालांकि, हम इसे किसी भी अंक या विशेष को अनुमति देने के लिए बदलना चाहते हैं, जबकि पिछले को भी अस्वीकार कर रहे हैं। मैंने जो कोशिश की है वह यहां है:
((?=.*d.*)|(?=.*[-""!#$%&()*+,./:;<=>?@[]^_`{|}~\].*))(?!.*[pP][aA4][sS$]{2}[wW][oO0][rR][dD].*)
हालांकि, मैं इसे काम करने के लिए नहीं मिल सकता। अंक / विशेष समूह ठीक काम करता है, हालांकि शब्द समूह नहीं करता है। यह देखता है कि स्ट्रिंग के END पर "पासवर्ड" या कुछ भिन्नता का उपयोग किया जाता है, लेकिन शुरुआत में नहीं ...
कोई सुझाव? प्रणाली मानक (पर्ल-स्टाइल) नियमित अभिव्यक्तियों का उपयोग करती है।
उत्तर:
जवाब के लिए 0 № 1कुछ चालबाजी के माध्यम से अपने regexes गठबंधन संभव है।
^([^pPd!-""#$%&()*+,./:;<=>?@[]^_`{|}~\]|[pP](?![aA4][sS$]{2}[wW][oO0][rR][dD]))*(d|[-""!#$%&()*+,./:;<=>?@[]^_`{|}~\])([^pPd!-""#$%&()*+,./:;<=>?@[]^_`{|}~\]|[pP](?![aA4][sS$]{2}[wW][oO0][rR][dD]))*$
मैंने सब्लिमे टेक्स्ट एडिटर में सफलतापूर्वक इसका परीक्षण किया है।