2011-09-02 7 views
12

में प्रमाणित किया गया है, मैं बीकर सत्रों के साथ पिरामिड का उपयोग करके एक वेबपैप बना रहा हूं।
मैं request.session['user_id'] में उपयोगकर्ता आईडी की दुकान और करने में सफल हस्ताक्षर के बाद कुछ अन्य जानकारी और उसके बाद की जाँच के लिए यह प्रयोग करना चाहते हैं उपयोगकर्ता पहले से ही प्रविष्ट करता है, तो:यह जांचने के लिए बीकर सत्र का उपयोग करना कि उपयोगकर्ता को पिरामिड

if 'user_id' in request.session: 
    # user signed in 
else: 
    # user not signed in or session is expired 

सवाल यह है: यह सत्र पर भरोसा करने के लिए सुरक्षित है या यह remember() और forget()pyramid.security से पिरामिड के authenticated_userid() का उपयोग करने के लिए बेहतर और/या सुरक्षित होगा?

उत्तर

11

पिरामिड_बेकर और SessionAuthenticationPolicy का उपयोग करें, फिर pyramid.authentication.authenticated_userid() का उपयोग यह जांचने के लिए करें कि वे लॉग इन हैं या नहीं। अगर यह None देता है, तो वे नहीं हैं।

+0

वास्तविक उपयोगकर्ता आईडी को 'authenticated_userid()' के साथ प्राप्त करने के लिए मुझे क्या करना चाहिए? क्या मुझे कहीं याद रखने वाले शीर्षकों को पास करना चाहिए (याद रखें '? –

+0

यहां "लॉगिन" दृश्य जैसा है: https://docs.pylonsproject.org/projects/pyramid/1.2/tutorials/wiki2/authorization.html#adding-login-and-logout-views .. याद रखने का परिणाम सेट करें प्रतिक्रिया हेडर में। –

+0

मैं बस 'याद रखें)' कह रहा हूं और फिर सभी आवश्यकतानुसार बिल्कुल काम करता है। वैसे भी, आपके उत्तर के लिए बहुत बहुत धन्यवाद –