यह सवाल मेरे मन को पार करने के बाद मैं इस पोस्ट पढ़ें: “Common REST Mistakes: Sessions are irrelevant”लाइसेंस और सत्र RESTful रास्ता
सत्र वास्तव में एक RESTful आवेदन में हतोत्साहित कर रहे हैं। आप इस तरह के आवेदन में लाइसेंस कैसे संभालेंगे। मैं विशेष रूप से समवर्ती लाइसेंस मॉडल का जिक्र कर रहा हूं और लाइसेंस नाम नहीं रखता हूं। यानी ग्राहक एक्स लाइसेंस खरीदता है जिसका अर्थ यह है कि एप्लिकेशन एक्स उपयोगकर्ताओं को एक साथ लॉग इन करने की अनुमति दे सकता है। जिसका अर्थ यह है कि एप्लिकेशन को मौजूदा लॉग इन उपयोगकर्ताओं के लिए एक राज्य होना चाहिए।
मैं जानता हूँ कि मैं एक संसाधन, लाइसेंस कहा जाता है जो एक कुकी सेट या एक अद्वितीय ID उत्पन्न होगा, और फिर ग्राहक प्रत्येक अनुरोध के साथ इसे भेजने के लिए होगा बना सकते हैं। लेकिन यह एक सत्र बनाने के समान है, है ना?
अगर मैं राज्यविहीन दृष्टिकोण अपनाने के लिए और प्रत्येक अनुरोध के लिए एक प्रमाणीकरण टोकन बनाने के लिए ग्राहक पूछेंगे कैसे आवेदन जब उपभोग करते हैं और है कि ग्राहक के लिए जारी लाइसेंस के लिए पता चलेगा?
क्या कोई विकल्प है? विशेष रूप से एक और अधिक विश्वसनीय विकल्प?
मैं रिलीज लाइसेंस कब दूंगा? किसी अन्य उपयोगकर्ता को लॉग इन करने की अनुमति देने के लिए। मैं नहीं चाहता कि लाइसेंस केवल मिलीसेकंड के लिए उपभोग किया जाए, अनुरोध वास्तव में सर्वर में संसाधित किया जा रहा है, लेकिन पूरे समय उपयोगकर्ता सक्रिय है। – LiorH
यही कारण है कि आपको राज्य को बचाया जाना चाहिए। जब उपयोगकर्ता लॉगआउट लिंक पर क्लिक करता है, या टाइमआउट के बाद सत्र/लाइसेंस नष्ट किया जाना चाहिए। (जो डाटाबेस टेबल में एक फ़ील्ड हो सकता है, जैसे टाइमस्टैम्प last_login जो वैध अनुरोधों के लिए वर्तमान टाइमस्टैम्प में अपडेट हो जाएगा।) –
@Aram Verstegen, आपने कहा कि यही कारण है कि उसे राज्य को बचाया जाना चाहिए, लेकिन यदि वह राज्य को बचाता है, क्या वह आरईएसटी सिद्धांतों का उल्लंघन नहीं करता है? –