Django 2.1 - User authentication in Django

Django में उपयोगकर्ता प्रमाणीकरण




django

Django में उपयोगकर्ता प्रमाणीकरण

Django एक उपयोगकर्ता प्रमाणीकरण प्रणाली के साथ आता है। यह उपयोगकर्ता खातों, समूहों, अनुमतियों और कुकी-आधारित उपयोगकर्ता सत्रों को संभालता है। प्रलेखन का यह खंड बताता है कि कैसे डिफ़ॉल्ट कार्यान्वयन बॉक्स से बाहर काम करता है, साथ ही साथ अपनी परियोजना की आवश्यकताओं के अनुरूप इसे कैसे विस्तारित और अनुकूलित किया जा सकता है।

अवलोकन

Django प्रमाणीकरण प्रणाली प्रमाणीकरण और प्राधिकरण दोनों को संभालती है। संक्षेप में, प्रमाणीकरण एक उपयोगकर्ता की पुष्टि करता है कि वे कौन हैं, और प्राधिकरण यह निर्धारित करता है कि एक प्रमाणित उपयोगकर्ता को क्या करने की अनुमति है। यहां दोनों कार्यों को संदर्भित करने के लिए प्रमाणीकरण शब्द का उपयोग किया जाता है।

नियम प्रणाली में निम्नलिखित शामिल हैं:

  • उपयोगकर्ता
  • अनुमतियाँ: बाइनरी (हाँ / नहीं) झंडे नामित करना कि क्या उपयोगकर्ता एक निश्चित कार्य कर सकता है।
  • समूह: एक से अधिक उपयोगकर्ता के लिए लेबल और अनुमतियां लागू करने का एक सामान्य तरीका।
  • एक विन्यास योग्य पासवर्ड हैशिंग प्रणाली
  • उपयोगकर्ताओं को लॉग करने या सामग्री को प्रतिबंधित करने के लिए प्रपत्र और दृश्य उपकरण
  • एक प्लग करने योग्य बैकएंड सिस्टम

Django में प्रमाणीकरण प्रणाली बहुत सामान्य होने का लक्ष्य रखती है और यह वेब प्रमाणीकरण प्रणालियों में आमतौर पर पाई जाने वाली कुछ सुविधाएँ प्रदान नहीं करती है। इन समस्याओं में से कुछ के लिए समाधान तीसरे पक्ष के पैकेज में लागू किए गए हैं:

  • पासवर्ड की शक्ति जाँच
  • लॉगिन के प्रयासों की थ्रॉटलिंग
  • तीसरे पक्ष के खिलाफ प्रमाणीकरण (OAuth, उदाहरण के लिए)

स्थापना

प्रमाणीकरण समर्थन को django.contrib.auth में Django contrib मॉड्यूल के रूप में बंडल किया गया है। डिफ़ॉल्ट रूप से, आवश्यक कॉन्फ़िगरेशन पहले से ही django-admin startproject द्वारा बनाई गई settings.py में शामिल है, इनमें आपकी INSTALLED_APPS सेटिंग में सूचीबद्ध दो आइटम शामिल हैं:

  1. 'django.contrib.auth' में प्रमाणीकरण ढाँचे का मूल और इसके डिफ़ॉल्ट मॉडल हैं।
  2. 'django.contrib.contenttypes' Django सामग्री प्रकार प्रणाली है , जो अनुमतियों को आपके द्वारा बनाए जाने वाले मॉडल से संबद्ध होने की अनुमति देता है।

और आपके MIDDLEWARE सेटिंग में ये आइटम:

  1. SessionMiddleware अनुरोधों के sessions प्रबंधन करता है।
  2. AuthenticationMiddleware सत्रों का उपयोग करते हुए अनुरोधों के साथ उपयोगकर्ताओं को जोड़ता है।

इन सेटिंग्स के साथ, कमांड manage.py migrate चलाने से संबंधित संबंधित मॉडल के लिए आवश्यक डेटाबेस टेबल और आपके इंस्टॉल किए गए ऐप्स में परिभाषित किसी भी मॉडल के लिए अनुमतियां बन जाती हैं।

प्रयोग

Django के डिफ़ॉल्ट कार्यान्वयन का उपयोग करना

डिफ़ॉल्ट कार्यान्वयन के लिए एपीआई संदर्भ

उपयोगकर्ता और प्रमाणीकरण को अनुकूलित करना

Django में पासवर्ड प्रबंधन