जिस ऐप को मैं लिख रहा हूं, उसके लिए मैं सरल हाथ से बना प्रमाणीकरण (जैसा कि Railscast.com पर वर्णित है) का उपयोग कर रहा हूं। रयान बेट्स के निफ्टी जेनरेटर मणि से कुछ कोड का उपयोग करके, मेरे पास एक प्रमाणीकरण मॉडल है जिसमें प्रमाणीकरण के लिए कुछ उपयोगी तरीके हैं। यह मॉड्यूल application_controller.rb
में शामिल है।लॉगिन के बाद पिछले यूआरएल पर रीडायरेक्ट करना - रेल
मैं जिस विधियों का उपयोग करना चाहता हूं उसे redirect_to_target_or_default
कहा जाता है। मुझे पता है कि मुझे एक ऐसे उपयोगकर्ता को उस पृष्ठ पर रीडायरेक्ट करने की आवश्यकता है जिसे वे प्रमाणीकृत कर चुके थे लेकिन मुझे नहीं पता कि मुझे इस विधि को कहां कॉल करना चाहिए? अगर कोई मुझे इस विधि का उपयोग करने के बारे में एक विचार दे सकता है, तो मैं इसकी सराहना करता हूं।
ControllerAuthenticaion मॉड्यूल कोड
module ControllerAuthentication
# Makes these methods helper methods in the controller that includes this module.
def self.included(controller)
controller.send :helper_method,
:current_admin, :logged_in?,
:redirect_to_target_or_default
end
def current_admin
@current_admin ||= Admin.find(session[:admin_id]) if session[:admin_id]
end
def logged_in?
current_admin
end
def login_required
unless logged_in?
store_target_location
redirect_to login_url,
:alert => "You must first log in before accessing this page."
end
end
def redirect_to_target_or_default(default, *args)
redirect_to(session[:return_to] || default, *args)
session[:return_to] = nil
end
def redirect_to_or_default(target, *args)
redirect_to(target || default, *args)
end
def store_target_location
session[:return_to] = request.url
end
end
बिल्कुल वही जो मैं खोज रहा था! धन्यवाद! – agentbanks217