तो मैं मेरी लड़ाई विधिनिम्नलिखित मामले के लिए कस्टम प्राधिकरण विशेषता को कैसे कार्यान्वित करें?
[Authorize(Roles="Admin")]
public ActionResult EditPosts(int id)
{
return View();
}
मेरे मामले में मैं प्रशासकों को अधिकृत करने का है ताकि वे पोस्ट को संपादित लेकिन (यहाँ शांत हिस्सा आता है) कर सकते हैं की जरूरत है, मैं भी उस पोस्ट के निर्माता सक्षम होने के लिए अनुमति देने के लिए की जरूरत है पोस्ट संपादित करने के लिए एक सामान्य उपयोगकर्ता है। तो मैं उस उपयोगकर्ता को कैसे फ़िल्टर कर सकता हूं जिसने पोस्ट और साथ ही व्यवस्थापक भी बनाए हैं लेकिन दूसरों को अनधिकृत छोड़ दें? मैं PostEntry आईडी को रूट पैरामीटर के रूप में प्राप्त कर रहा हूं लेकिन एट्रिब्यूट के बाद और विशेषताएँ केवल स्थिर मानकों को स्वीकार करती हैं, कुछ बहुत मुश्किल लगती है, आपके उत्तरों की अत्यधिक सराहना की जाती है, चीयर्स!
जब से तुम पोस्ट बनाने वाला जब तक आप इसे देख पता नहीं हो सकता। वस्तु को हाइड्रेट करने के बाद इस तर्क को शामिल करना बेहतर हो सकता है। अन्यथा, यदि आप इसे एक पहलू के रूप में लागू करते हैं, तो आपको दो बार पोस्ट देखना होगा (एक बार प्राधिकरण के लिए और एक बार संपादन के लिए)। –
एक बिंदु अच्छी तरह से रखा गया है, वास्तव में मैं एक बार देखता हूं कि उसकी आईडी भूमिका प्रविष्टि पर है और फिर मेरे नियंत्रक तर्क करने के लिए है। किसी भी विचार डेटाबेस को सिर्फ एक बार कैसे मारा जाए? – Freeman
इस बारे में सोचकर, यदि आप एक अच्छा ओआरएम का उपयोग कर रहे हैं, और प्राधिकरण कॉल (उस भाग के बारे में निश्चित नहीं) से पहले अपना संदर्भ सेट अप करते हैं, तो इसे पहले स्तर के कैश में कैश करना चाहिए। फिर, आपको दूसरे हाइड्रेट पर एक हिट के रूप में नहीं देखना चाहिए। –