2009-11-16 20 views
5

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

यह मुझे "सही" नहीं लगता है, और मुझे आश्चर्य है कि यह को कम से कम को बैकएंड में आने के लिए उसी सत्र के पुन: प्रमाणीकरण की आवश्यकता होगी।

अधिमानतः हालांकि, अगर फ्रंटेंड सत्र बैकएंड वाले लोगों से अलग किया जा सकता है (हालांकि अभी भी एक ही उपयोगकर्ता ऑब्जेक्ट्स का उपयोग कर रहा है) तो यह अच्छा होगा, इससे साइट के दोनों हिस्सों के साफ पृथक्करण की अनुमति मिल जाएगी। क्या इसके लिए शायद दो अलग प्रमाणीकरण बैकएंड की आवश्यकता होगी? क्या ऐसा कुछ हासिल करना मुश्किल होगा?

उत्तर

1

आप संभवतः एक मिडलवेयर लागू कर सकते हैं जो व्यवस्थापक साइट पर किसी रेफरर से व्यवस्थापक साइट तक पहुंचने पर प्रमाणीकरण की मांग करता है। यह व्यक्ति को लॉग आउट कर सकता है और उन्हें वापस लॉग इन कर सकता है, लेकिन यह भी आवश्यक नहीं होगा। बस एक और पासवर्ड प्रविष्टि की आवश्यकता है, और अगर यह विफल रहता है तो उन्हें पुनर्निर्देशित करें। इसमें सत्र चर, is_admin_authenticated या कुछ सेट करना शामिल हो सकता है।

+0

ध्यान रखें कि रेफरर आपके दर्शकों के आधार पर स्पर्श कर सकता है। कुछ "इंटरनेट सुरक्षा" सूट रेफरर हेडर को अनुरोधों से फ़िल्टर करते हैं। –

7

यहां एक विचार है: व्यवस्थापक ऐप को एक अलग डोमेन पर फ्रंटएंड पर चलाएं। कुकीज़ अन्य डोमेन में मान्य नहीं होगी, इसलिए उपयोगकर्ता को फिर से लॉग इन करना होगा। आपको बस एक अलग अपाचे vhost और एक बुनियादी सेटिंग्स.py होगा जो INSTALLED_APPS में है।

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