मैंने सोचा कि मैं इस पर कम टिप्पणी दे सकते हैं, लेकिन क्षेत्र, खेद अगर यह सही जवाब नहीं होगा लेकिन कम करने के लिए है:
आप टोना उल्लेख - मुझे लगता है कि यह प्रमाणीकरण प्रणाली है और कोई लेना देना नहीं मिला एक प्राधिकरण के साथ। (मुझे जादूगर मणि कार्यान्वयन नहीं पता - दस्तावेज़ीकरण से सिर्फ दोहराव बयान और यह मानते हुए कि वर्णन इस तरह के सिस्टम को प्रतिस्थापित करता है और यह वैध परिभाषा है)। मुझे लगता है कि यह सिर्फ गलती है।
मौलिक सवाल आप से पूछना चाहिए अपने आप को है ...
कितना भूमिका आधारित प्रणाली विकसित करते हैं? मुझे लगता है कि अगर यह केवल सार्वजनिक/निजी/व्यवस्थापक भूमिकाओं का मामला है तो आपको इसे अलग-अलग एपीआई में ले जाने पर विचार करना चाहिए।
यह कुछ परिस्थितियों में बोझिल हो सकता है लेकिन जटिल नहीं होने के लिए कोई भी अतिरिक्त भूमिका नहीं है। अंगूर में सरल माउंट ओओटीबी समस्या को हल करेगा।
वास्तविक समस्या यह है कि यदि आप कुछ विस्तारणीय/गतिशील भूमिका प्रणाली के बारे में सोचते हैं या आप केवल DRY होना चाहते हैं। यह दर्दनाक हो सकता है ;-)। मुझे लगता है कि रेयान के बाइट्स मणि क्रियान्वयन कर सकते हैं, यह समझने में आपकी सहायता करनी चाहिए कि उच्च सार स्तर पर ऐसी समस्या कैसे हल की जा सकती है। विशेष रूप से (बिना उच्च अमूर्तता के - जैसे कि गतिशील भूमिकाएं) कार्यान्वयन, अंगूर से वर्तमान में दिए गए सहायकों का उपयोग करने के लिए ठीक होना चाहिए और मॉडल (मूल उपयोग) में उनकी जिम्मेदारियों का प्रतिनिधित्व करना ठीक होना चाहिए।
helpers do
def current_user
@current_user ||= User.authorize!(env)
end
def authenticate!
error!('401 Unauthorized', 401) unless current_user
end
end
इसलिए सभी कहानी कैसे User.authorize को लागू करने के बारे में है! (Env) और मुझे विश्वास है कि अपने मॉडल में किया जाना चाहिए और अपनी आवश्यकताओं पर सख्ती से निर्भर करता है।
स्रोत
2013-02-21 19:31:47
अरे कली धन्यवाद, बस एक बात अधिकृत विधि के दूसरे परम वास्तव में एक प्रतीक है 'प्रमाणीकरण करें: foo,: शो' पहले परम प्रतीक, क्लास का नाम या का एक उदाहरण हो सकता है? कक्षा – juliangonzalez
@JGonzalezD: अच्छा पकड़, इसे ठीक किया। धन्यवाद! – fengye87