Wednesday, 15 January 2014

python - Persist login in Django Rest Framework -


मैं Django Rest Framework का उपयोग कर रहा हूं और मैंने rest_auth का उपयोग करके एक लॉगिन समापन बिंदु सेट किया है; एस एंडपॉइंट हालांकि, प्रवेश के बाद, अगर मैं पेज को ताज़ा करता हूं तो लॉगिन अवैध है

मैंने इसे `/ लॉगिन चेन 'एंडपॉइंट सेट करके परीक्षण किया है, जिसे मैं लॉगिंग के बाद निम्नानुसार जांच करता हूं:

  @ipi_view ([' GET ',]) @permission_classes ([AllowAny,]) डीईएफ़ get_user (अनुरोध): उपयोगकर्ता = request.user प्रिंट (उपयोगकर्ता)  

प्रवेश करने के बाद, अगर मैं पृष्ठ पर रहने और प्रदर्शन एक / LoginCheck ', प्रिंट कमांड सक्रिय उपयोगकर्ता के उपयोगकर्ता नाम प्रदर्शित करता है हालांकि, पृष्ठ के रीफ्रेश पर, अगर मैं एक ही फ़ंक्शन करता हूं, तो यह अनाम उपयोगकर्ता प्रिंट करता है ( 'Rest_framework.authentication.SessionAuthentication',),)

मैं: मैं निम्नलिखित प्रमाणीकरण वर्गों

  REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES' का उपयोग किया है क्योंकि  TokenAuthentication  का उपयोग कर मैं एम.पी.ए. क्या मैं लगातार गैर फेसबुक लॉगिन के संदर्भ में याद आ रही है 

संपादित करें:

मेरी सेटिंग्स मिडलवेयर

  MIDDLEWARE_CLASSES = ( 'django.contrib .sessions.middleware.SessionMiddleware ',' corsheaders.middleware.CorsMiddleware ',' django.middleware.common.CommonMiddleware ',' django.middleware.csrf.CsrfViewMiddleware ',' django.contrib.auth.middleware.AuthenticationMiddleware ',' Django .contrib.auth.middleware.SessionAuthenticationMiddleware ',' django.contrib.messages.middleware.MessageMiddleware ',' django.middleware.clickjacking.XFrameOptionsMiddleware ',)  

यदि आप एक टोकन के साथ लॉगिन करते हैं, तो यह केवल उस अनुरोध के लिए ही होगा- respone चक्र डिज़ाइन के द्वारा यह नियमित डीजेंगो ब्राउज़र सत्रों की तरह निरंतर होना नहीं है। इसलिए किसी भी बाद के अनुरोधों के लिए आपको टोकन के मूल्य को संलग्न करना होगा। एक कुकी से प्राप्त कर रहा है या अपने ग्राहक आवेदन यह अन्य तरीकों से की दुकान पर निर्भर करता है

यहां कुछ उदाहरण कोड:।

  वर अनुरोध = नए XMLHttpRequest () request.setRequestHeader ( "प्राधिकरण", "टोकन" + टोकन); Request.open ("GET", "foo / bar", सच);  

No comments:

Post a Comment