2012-09-25 23 views
5

के साथ Django उपयोगकर्ता लॉगआउट मेरे पास एक वेबसाइट है जो केर्बेरोस के माध्यम से रिमोट प्रमाणीकरण का उपयोग करती है। मैंने Django दस्तावेज (https://docs.djangoproject.com/en/dev/howto/auth-remote-user/) के अनुसार सब कुछ सेट कर दिया है। महान काम में लॉग इन करना, हालांकि लॉग आउट करना सत्र समाप्त नहीं करता है। उपयोगकर्ता पूरी तरह से लॉग आउट होने के लिए मैं क्या कर सकता हूं? ब्राउज़र विंडो को बंद करना पूरी तरह से काम करता प्रतीत होता है, लेकिन उपयोगकर्ताओं को ब्राउज़र विंडो बंद किए बिना लॉग आउट करने की क्षमता की आवश्यकता होती है।रिमोट प्रमाणीकरण

उत्तर

0

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

0

उपयोग HttpResponse स्थिति लौटाने के लिए 401.

def logout(request): 
    return HttpResponse(content, status=401) 

यह Kerebos से बाहर उपयोगकर्ता प्रवेश करेंगे।

क्रेडिट: मैंने मूल समाधान से कहीं और इस समाधान को देखा।