मैं अपने नियंत्रक विधियों पर @PreAuthorize के साथ वसंत सुरक्षा का उपयोग कर रहा हूं। मेरा तर्क था कि मैं चाहता था कि प्रमाणीकरण एक परत में अनुमानित रूप से जांच करे, और अनुरोध में जितनी जल्दी हो सके। हालांकि, मैंने बस वसंत सुरक्षा 3 दस्तावेज पढ़ा, और देखा कि वे सेवा परत पर विधि स्तर सुरक्षा लागू करने की सलाह देते हैं (लेकिन वे क्यों नहीं कहते हैं)।क्या वसंत सुरक्षा विधि स्तर एनोटेशन नियंत्रक परत या सेवा परत पर लागू किया जाना चाहिए?
मेरा प्रश्न है: क्या वसंत सुरक्षा विधि स्तर एनोटेशन नियंत्रक परत या सेवा परत पर लागू किया जाना चाहिए? (या "दोनों", या "यह निर्भर करता है"?) अधिक महत्वपूर्ण बात: क्यों?
धन्यवाद, आपने सेवा पर सुरक्षा डालने के लिए अच्छे तर्कों का उल्लेख किया है। नियंत्रक को सुरक्षित करने के लिए आप अच्छे तर्कों पर क्या विचार करेंगे? संदर्भ के लिए, मेरे मन में जो ऐप है, वह मूल रूप से एक नियंत्रक एंडपॉइंट पर एक सेवा विधि है, क्योंकि मेरी सेवा लेनदेन सीमाओं को परिभाषित करती है। तो एक ही सेवा विधि को केवल एक ही स्थान से बुलाया जाता है और सेवा का उपयोग करने वाले कोई अन्य ग्राहक नहीं हैं। – Jay
सेवा पर प्राधिकरण डालने का एक और कारण यह है कि कौन सा सेवा किसी व्यापारिक निर्णय के लिए कौन सा सेवा एक्सेस कर सकती है, इस सवाल का सवाल है, और यह व्यवसाय तर्क के साथ स्थित हो सकता है। – Jay
मेरे सिर के ऊपर से, मेरे पास एक सेवा परत की प्राथमिकता में नियंत्रक को सुरक्षित करने के लिए कोई अच्छा तर्क नहीं है। इसका मतलब यह नहीं है कि वे विशिष्ट मामलों में मौजूद नहीं हो सकते हैं। आपकी आवश्यकताएं डेटा के आधार पर नियम निर्दिष्ट कर सकती हैं जो आमतौर पर केवल वेब स्तरीय में उपलब्ध होती हैं, उदाहरण के लिए, जैसे अनुरोध शीर्षलेख। –