मैं अपने Django एप्लिकेशन के भीतर कुछ कार्यों को प्रतिबंधित करने के लिए अनुमतियों पर आधारित प्रणाली का उपयोग करना चाहता हूं। इन क्रियाओं को किसी विशेष मॉडल से संबंधित नहीं होना चाहिए (जैसे एप्लिकेशन में अनुभागों तक पहुंच, खोज ...), इसलिए मैं सीधे स्टॉक अनुमतियों के ढांचे का उपयोग नहीं कर सकता , क्योंकि Permission
मॉडल को स्थापित सामग्री प्रकार के संदर्भ की आवश्यकता होती है।
मैं अपना स्वयं का अनुमति मॉडल लिख सकता हूं लेकिन फिर मुझे Django अनुमतियों के साथ शामिल सभी अच्छाइयों को फिर से लिखना होगा, जैसे:
- उपयोगकर्ताओं और समूहों को अनुमति प्रदान करने की संभावना।
permission_required
डेकोरेटर ।User.has_perm
और संबंधित उपयोगकर्ता विधियाँ।perms
टेम्पलेट चर ।- ...
मैंने कुछ एप्लिकेशन जैसे django-Authority और django-guardian की जाँच की है , लेकिन वे प्रति-ऑब्जेक्ट अनुमति देकर मॉडल सिस्टम को और भी अधिक युग्मित करने की अनुमति प्रदान करते हैं।
क्या परियोजना के लिए किसी भी मॉडल (इसके अलावा User
और Group
) को परिभाषित किए बिना इस ढांचे का पुन: उपयोग करने का एक तरीका है ?