आमतौर पर, मैं अपने सर्वर साइड नियंत्रकों में प्राधिकरण निर्णय लेता हूं। ये हाल ही में Restful समापन बिंदु रहे हैं, लेकिन मुझे लगता है कि MVC प्रकार के आर्किटेक्चर के लिए समान है। तर्क के लिए मान लें कि यह भूमिका आधारित प्राधिकरण है। एक संरक्षित विधि को एनोटेट किया जाएगा या जांच की जाएगी और यदि आवश्यक हो तो 403s लौटाएं।
अब, यह देखते हुए कि प्राधिकरण वास्तव में एक व्यावसायिक नियम है - "केवल प्रशासक एक्स को सूचीबद्ध कर सकते हैं" उदाहरण के लिए, मैं सोच रहा हूं कि उन्हें एक परत के नीचे धकेल दिया जाना चाहिए। जब कोई नियंत्रक व्यवसाय परत को संचालन करने के लिए कहता है, तो सेवा या व्यवसाय परत नियंत्रक को सूचित करती है कि वह अधिकृत नहीं है।
क्या यह एक उचित दृष्टिकोण है? क्या इसके नुकसान हैं?
मैं एक प्राधिकरण है कि अनिवार्य रूप से यह करने के लिए स्थिर प्रक्रियात्मक कोडित नियमों का एक गुच्छा रखती है पर घृणा कर रहा हूँ, लेकिन शायद यह एक ही स्थान पर सभी पहुँच तर्क रखने के लिए समझ में आता है। क्या यह एक क्रॉस कटिंग चिंता है जिसे अलग रखा जाना चाहिए?
इसलिए मैं पूछ रहा हूं कि क्या किसी ने ऐसा किया है और कैसे उन्होंने इसे साफ-सुथरे तरीके से हासिल किया है या अगर कोई अच्छा संसाधन है तो मैं पढ़ सकता हूं। मैं जावा fwiw का उपयोग कर रहा हूं लेकिन यह एक भाषा अज्ञेय प्रश्न है।
मैंने यहां से संबंधित प्रश्नों की जाँच की है और वे जमीन और उत्तर पर बहुत पतले हैं। उदाहरण के लिए: डोमेन मॉडल में सत्यापन और प्राधिकरण जो MVC के लिए एक सेवा परत के माध्यम से किया जाता है
मैं स्प्रिंग सिक्योरिटी डॉक्स पढ़ रहा हूं, जो इसे क्रॉस कटिंग चिंता का विषय होने के लिए कुछ अच्छे तर्क देते हैं, लेकिन मुझे चिंता है कि यह सिर्फ "स्प्रिंग तरीका" है और व्यापक दृष्टिकोण पसंद करेंगे। यह आपके एप्लिकेशन को एक विशिष्ट ढांचे से भी जोड़ता है।