मैं एक्सेस अधिकारों के आधार पर विभिन्न उपयोगकर्ताओं के लिए एक ही प्रश्न के अलग-अलग उत्तर प्रदान करना चाहता हूं। मैं इस सवाल पढ़ें:उपयोगकर्ता देखने के विशेषाधिकारों के आधार पर विभिन्न आरईएसटी संसाधन सामग्री
Excluding private data in RESTful response
लेकिन मैं स्वीकार किए जाते हैं जवाब है, जिसमें कहा गया है कि आप, दोनों /people.xml
और /unauthenticated/people.xml
प्रदान करना चाहिए के बाद से बाकी की मेरी समझ है कि एक विशेष संसाधन एक में रहते हैं चाहिए से सहमत नहीं हूं विशेष स्थान, इस पर निर्भर करता है कि आपकी कितनी जानकारी में रुचि है।
मैं जिस सिस्टम को डिजाइन कर रहा हूं वह उससे भी जटिल है। मान लीजिए कि एक उपयोगकर्ता ने दोस्तों की कई मंडलियां बनाई हैं, और उन्हें विभिन्न पहुंच अधिकार सौंपे हैं। उदाहरण के लिए, मेरे "परिचितों" सर्कल के पास मेरे जन्मदिन तक पहुंच हो सकती है, और मेरे "पेशेवर" सर्कल के पास मेरे रोजगार इतिहास तक पहुंच हो सकती है, लेकिन दूसरी तरफ नहीं। मेरे द्वारा उल्लिखित प्रश्न से उत्तर लागू करने के लिए, मुझे सभी उपयोगकर्ता की मंडलियों (जो मैं सुरक्षा कारणों से गुप्त रखना चाहता हूं) प्राप्त करने का एक तरीका प्राप्त करने की आवश्यकता है, और फिर /circles/a/users/42
, /circles/b/users/42
, /circles/c/users/42
और इसी तरह से आगे बढ़ने की आवश्यकता है , और उसके बाद उपलब्ध अधिकतम मात्रा में जानकारी प्रदर्शित करने के लिए परिणामों को मर्ज करें। स्पष्ट रूप से एक भी सर्कल नहीं है जो सभी जानकारी प्राप्त करता है कि किसी भी अन्य मंडल में मिलता है। मेरा मानना है कि यह काफी मुश्किल है (ध्यान दें कि मुझे शायद इसे कई प्रकार की वस्तुओं के साथ करने की आवश्यकता है और भविष्य के संस्करणों को एक अलग प्रक्रिया की आवश्यकता हो सकती है), लेकिन अगर मैं किसी विशेष उपयोगकर्ता पर सुरक्षा प्रतिबंध लगा देना चाहता हूं तो तथ्य कि वह मेरी कुछ मंडलियों में भी है? क्या उस समस्या को भी हल किया जा सकता है? यहां तक कि यदि मैं उपरोक्त उल्लिखित प्रश्नों में से किसी एक का जवाब देने से इनकार करता हूं और एक नया व्यक्ति हूं जो मुझे जवाब दे सकता है, तो यह अभी भी इस तथ्य को प्रकट करेगा कि व्यक्तिगत पहुंच प्रतिबंधों के कारण इस विशिष्ट उपयोगकर्ता का अलग-अलग व्यवहार किया जाता है।
मुझे यहां क्या याद आ रही है? क्या मेरे लिए एक शानदार वेब सेवा विकसित करना भी संभव है?
यदि निष्कर्ष यह है कि व्यवहार रीस्टफुल नहीं है, तो क्या यह अभी भी एक ऐसी स्थिति के रूप में बन जाएगा जहां आरईएसटी अनुबंध तोड़ना नैतिक रूप से ठीक होगा? यदि हां, तो नकारात्मक प्रभाव क्या हैं? उदाहरण के लिए क्या मुझे प्रॉक्सी कैशिंग मुद्दों का जोखिम है?
आपके उत्तर के लिए धन्यवाद! जैसा कि मैं इसे समझता हूं, मैं हैक-ई समाधान चुनना चाहूंगा यदि मुझे जटिल अनुमतियों के आधार पर तत्वों का एक गैर-तुच्छ सेट सेट करने की आवश्यकता है। हालांकि, मैंने अपने प्रश्न में कैशिंग का उल्लेख किया। निर्दिष्ट करने के लिए: * क्या कोई जोखिम है कि कैशिंग प्रॉक्सी (या समान) ऑब्जेक्ट के समान संस्करण को अलग-अलग अनुमतियों वाले उपयोगकर्ताओं को वितरित करेगा? * कैशिंग के संबंध में, * मैं क्लाइंट को कैसे सूचित कर सकता हूं कि संसाधन के कारण संसाधन बदल गया है नीति परिवर्तन, * एक unaltered समय-टिकट के बावजूद? फिर से, सभी कों मदद के लिए धन्यवाद! –
@ जेरेमीथ ने लिखा: "इससे कोई फर्क नहीं पड़ता कि संसाधन के लिए यूआरएल क्या है क्योंकि सर्वर इसे नियंत्रित करता है"। यहां समाप्त होने वाले अन्य लोगों के लिए, इस अवधारणा को [हेटोआस] (http://en.wikipedia.org/wiki/HATEOAS) के रूप में जाना जाता है जो एक विशिष्ट प्रकार का आरईएसटी है, यह सभी आरईएसटी अवधारणाओं पर लागू नहीं होता है। – Wilt
@ विल्ट वाक्यांश "अनुप्रयोग राज्य के इंजन के रूप में हाइपर्मियाडिया" फ़ील्डिंग के शोध प्रबंध में वर्बैटिम का प्रयोग किया जाता है।तो जब आप कहते हैं, "एक विशिष्ट प्रकार का आरईएसटी," आपको वास्तव में क्या मतलब होना चाहिए, "आरईएसटी का प्रकार जिसने 'आरईएसटी' शब्द का आविष्कार किया था।" यह कोर सिद्धांतों में से एक है। –