का उपयोग करके साइन इन नहीं कर सकता है, तो मेरे अनुप्रयोग में मैं डेविस का उपयोग कर उपयोगकर्ताओं को प्रमाणीकृत करता हूं और मैंने देखा है कि आप उस पृष्ठ को बदल सकते हैं जिसे साइन इन विफल होने पर रीडायरेक्ट किया गया है।उपयोगकर्ता को डेविस
class CustomFailure < Devise::FailureApp
def redirect_url
new_user_session_url(:subdomain => 'secure')
end
# You need to override respond to eliminate recall
def respond
if http_auth?
http_auth
else
redirect
end
end
end
इस उदाहरण मैं अपने खुद के CustomFailure वर्ग (custom_failure.rb) बनाया और सहायक फ़ोल्डर में रखा (यकीन नहीं है, जहां यह डाल करने के लिए) के बाद: विकि पर मैं निम्न उदाहरण मिल गया।
class CustomFailure < Devise::FailureApp
def redirect_url
new_user_session_url(:subdomain => 'secure')
end
# Redirect to root_url
def respond
if http_auth?
http_auth
else
root_url
end
end
end
मैं भी config/initializers/devise.rb फ़ाइल में निम्न जोड़ा (के रूप में विकी राज्यों से किया जाना चाहिए):
config.warden do |manager|
manager.failure_app = CustomFailure
end
हालांकि मैं मिल इसे निम्नलिखित वर्ग मैं बनाया है कोई त्रुटि नहीं, जब मैं गलत तरीके से साइन इन करता हूं, तब भी यह/उपयोगकर्ता/sign_in पृष्ठ (रूट पेज नहीं) पर रीडायरेक्ट करता है और कुछ भी लोड नहीं होता है (हालांकि पृष्ठ खाली नहीं है, भले ही स्रोत खाली नहीं है)। क्या मेरे कस्टमफेलर क्लास में कुछ गड़बड़ है या शायद यह गलत फ़ोल्डर में है?
मैं रेल 3.0.1 और डेविस 1.1.rc0 का उपयोग कर रहा हूं। How To: Redirect to a specific page when the user can not be authenticated
हम्म यह काम नहीं किया। यह वही काम किया। – Fizz
मैंने आपकी समस्या पर पुनर्विचार किया। मेरा दूसरा दृष्टिकोण आज़माएं - उम्मीद है कि मदद मिलेगी! – pex
आपको बहुत बहुत धन्यवाद। यह काम करता हैं! मैंने store_location नहीं जोड़ा! बिट, क्या मुझे रीडायरेक्ट से पहले अपने 'else' खंड में ऐसा करना चाहिए? – Fizz