2015-11-11 33 views
7

का उपयोग कर बहु-उपयोगकर्ता आराम से एपीआई मैं एक बहु उपयोगकर्ता एपीआई बनाना चाहता हूं, जहां उपयोगकर्ता एक आरामदायक सेवा में लॉग इन करते हैं और बुकिंग कक्षा कहने के लिए अपनी जगह रखते हैं। बुकिंग उपयोगकर्ताओं के बीच साझा नहीं की जाती है।वसंत बूट, जेपीए और सुरक्षा

मैं समझने के लिए संघर्ष कर रहा हूं कि वसंत बूट के जादू के जितना संभव हो उतना उपयोग करते समय इसे बनाने के लिए सबसे अच्छा पैटर्न क्या है।

मैं स्प्रिंग बूट जेपीए का उपयोग कर रहा हूं और @Entity के साथ उपयोगकर्ता और बुकिंग कक्षा को परिभाषित कर रहा हूं।

मेरी बुकिंग तब इस उपयोगकर्ता वर्ग का संदर्भ देती है। हालांकि, एक तरीका है कि मैं प्रत्येक उपयोगकर्ता के लिए डेटा मॉडल को स्वचालित रूप से अलग करने के लिए @RepositoryRestResource या इसी तरह की एनोटेशन का उपयोग कर सकता हूं, फिर सीआरयूडी एंडपॉइंट को सुरक्षित करने के लिए स्प्रिंग सिक्योरिटी का उपयोग करें या मुझे अपना खुद का @RestResponse बनाने की ज़रूरत है जो उपयोगकर्ताओं को उनके प्राधिकरण के आधार पर देखता है और फिर अलगाव करने के लिए एक findByUser विधि बनाएँ?

(ध्यान दें मैं वसंत के लिए नया हूँ, वसंत बूट आदि)

संपादित करें: यह सुझाव दिया गया है मैं एसीएल गौर, लेकिन मैं समझा वे कैसे काम अच्छा सरल संसाधन प्राप्त करने के लिए संघर्ष कर रहा हूँ

+0

मैं भी एक वीडियो ट्यूटोरियल (वीडियो के अंत में) एनोटेशन का उपयोग करता है विशिष्ट उपयोगकर्ताओं को सीमित करने के लिए https://www.youtube.com/watch?v=_1EFB6fk2_8&list=PLTgRMOcmRb3Oenxtwc-F3kQL8B_7mWdgx&index=3&spfreload=1 पाया है –

उत्तर

5

हैं आपके पास वास्तव में प्रत्येक उपयोगकर्ता के लिए पृथक डेटा है और आप एक पारदर्शी तंत्र को केवल उस डेटा को चुनने या अपडेट करने में सक्षम होना चाहते हैं, जिसे आपको देखने के लिए अनुमति है, आपको टी eclipselink के बहुतायत समर्थन को देखना चाहिए।

http://wiki.eclipse.org/EclipseLink/Development/Indigo/Multi-Tenancy

यहाँ इस वसंत-डेटा-जेपीए में स्थापना के बारे में स्वीकार किए जाते हैं जवाब के साथ एक सवाल यह है कि Multi tenancy with spring data jpa and eclipselink

इसके अलावा हाइबरनेट multitenancy http://docs.jboss.org/hibernate/orm/5.0/userGuide/en-US/html_single/#d5e3197

के लिए समर्थन लेकिन ध्यान रखें रहा है बहुआयामी सक्षम संस्थाओं पर उन प्रश्नों को हमेशा किरायेदार आईडी द्वारा फ़िल्टर किया जाता है - इसलिए अलगाव काफी सख्त है।

+0

बहुत बढ़िया - इसके लिए धन्यवाद। सुपर दिलचस्प लग रहा है। ऐसी परिस्थितियों के लिए और अधिक लगता है जहां आपको पूर्ण अलगाव की आवश्यकता होती है। –

+1

बिल्कुल - मैं केवल इसका उपयोग करता हूं यदि आपको वास्तव में डेटा को पूर्ण पृथक्करण की आवश्यकता है - लेकिन आप इसे इकाई स्तर पर स्विच कर सकते हैं - इसलिए आपको अपनी सभी इकाइयों पर किरायेदारी सक्षम करने की आवश्यकता नहीं है –

संबंधित मुद्दे