पृष्ठभूमि:ग्राफ़क्यूएल सर्वर में एक्सेस कंट्रोल को लागू करने के लिए एक अच्छा पैटर्न क्या है?
मैं एक उपयोगकर्ता और विभिन्न अन्य मॉडल, जिनमें से कुछ एक उपयोगकर्ता के संदर्भ हो सहित मॉडल का एक सेट, की है। मैं graffiti-mongoose एडाप्टर का उपयोग कर एक मोंगो डेटाबेस द्वारा समर्थित Graffiti द्वारा उत्पन्न ग्राफक्लु एपीआई के माध्यम से पूछताछ के लिए इन मॉडलों का खुलासा कर रहा हूं। मेरा वर्तमान आरईएसटी एपीआई (जिसे मैं ग्राफ़क्यूएल में माइग्रेट कर रहा हूं) उपयोगकर्ताओं को प्रमाणीकृत करने के लिए जेएसओएन वेब टोकन का उपयोग करता है, और एक्सेस कंट्रोल को संभालने के लिए सर्वर पक्ष पर कुछ कस्टम अनुमति तर्क है।
समस्या:
मैं GraphQL में वस्तुओं वर्तमान में लॉग-इन उपयोगकर्ता के आधार पर करने के लिए उपयोग को सीमित करना चाहते हैं। कुछ मॉडलों को अनधिकृत कॉल द्वारा पढ़ने के लिए सुलभ होना चाहिए। अधिकांश अन्य मॉडल केवल उस उपयोगकर्ता के लिए सुलभ होना चाहिए जिसने उन्हें बनाया है। Graffiti- जेनरेट एपीआई के माध्यम से वस्तुओं पर अभिगम नियंत्रण का प्रबंधन करने का सबसे अच्छा तरीका क्या है?
सामान्य रूप से, क्या ग्राफ़क्यूएल के लिए एक्सेस कंट्रोल के अच्छे पैटर्न हैं? और विशेष रूप से, क्या ग्राफिटी के साथ ऐसा करने के लिए कोई अच्छा उदाहरण या पुस्तकालय हैं?
नोट्स:
मैं समझता हूँ कि पूर्व और पोस्ट हुक भित्तिचित्र-नेवला के लिए been implemented है, और वे can be used प्रमाणीकरण के लिए बुनियादी द्विआधारी चेकों करने के लिए कि। मैं देखना चाहता हूं कि ग्राफक्लु एपीआई में अधिक विस्तृत एक्सेस-कंट्रोल लॉजिक कैसे काम किया जा सकता है। भविष्य में, हम उन प्रशासकों की तरह समर्थन करना चाहेंगे जिनके पास उपयोगकर्ताओं के एक निश्चित समूह द्वारा बनाए गए मॉडल उदाहरणों तक पहुंच है (उदा। उपयोगकर्ता जिनके संबद्धों में प्रशासक शामिल हैं)।
आपको एक्सएसीएमएल और एबीएसी में देखना चाहिए जो कि अच्छी तरह से दागदार विशेषता आधारित एक्सेस कंट्रोल मॉडल हैं जिनका उपयोग आप ग्राफक्लुएल और अन्य ऐप्स –