के साथ अन्य उपयोगकर्ता के खाते में लॉग इन करें मैं अपने मौजूदा रेल 3.0.9 एप्लिकेशन में switch_user मणि को लागू करने की कोशिश कर रहा हूं। मेरे आवेदन पर दो मॉडल, वे कर रहे हैंडेविस + एक्टिव एडमिन + स्विच उपयोगकर्ता
- उपयोगकर्ता कर रहे हैं - मेरे ग्राहकों के खातों के लिए और यह has_oneखाता
- AdminUser - यह ActiveAdmin द्वारा
मैंने Users
के लिए पहले से ही प्रमाणीकरण प्रमाणीकरण सक्षम कर दिया है और ActiveAdmin भीके साथ बहुत अच्छी तरह से काम कर रहा है। अब मेरे सक्रिय एडमिन इंटरफ़ेस से मैं खाता चुनना चाहता हूं और खाते के स्वामी की तरह ही उन खातों में लॉगिन करना चाहता हूं। स्विच उपयोगकर्ता ठीक काम कर रहा है लेकिन समस्या यह है कि अगर कोई यूआरएल जानता है तो कोई भी उपयोगकर्ता खातों में बस लॉगिन कर सकता है।
http://localhost:3000/switch_user?scope_identifier=user_1
सभी मैं जरूरत अनुमति देते हैं केवल एक AdminUser (अर्थात यदि कोई ActiveAdmin सत्र है) उपयोगकर्ता की खातों का उपयोग करने के लिए।
यह कैसे मेरे /config/initializers/switch_user.rb
SwitchUser.setup do |config|
config.controller_guard = lambda { |current_user, request| current_admin_user.nil?}
config.redirect_path = lambda { |request, params| "/dashboard" }
end
तरह लग रहा है लेकिन मैं इस त्रुटि
NameError in SwitchUserController#set_current_user
undefined local variable or method `current_admin_user' for main:Object
मिल मैं सक्रिय व्यवस्थापक सत्र तक पहुँच सकते हैं वहाँ वैसे भी है है? /config/initializers/active_admin.rb
ActiveAdmin.setup do |config|
config.site_title = "MyAppName"
config.authentication_method = :authenticate_admin_user!
config.current_user_method = :current_admin_user
end
के लिए
कोड btw अपने आवेदन नियंत्रक में मैं किसी भी तरीकों authenticate_admin_user
के लिए, current_admin_user
सक्रिय व्यवस्थापक उनके बिना ठीक काम करता है नहीं बनाए हैं।
मैंने लगभग हर चीज की कोशिश की जिसे मैं सोच सकता हूं लेकिन अभी भी कोई भाग्य नहीं है। कृपया कोई और? – randika