के साथ मुलायम हटाए गए उपयोगकर्ता के लॉगिन को कैसे रोकें मैं वर्तमान में रेल परियोजना में उपयोगकर्ता पंजीकरण/प्रमाणीकरण के लिए डेविस का उपयोग करता हूं। जब कोई उपयोगकर्ता अपना खाता रद्द करना चाहता है, तो उपयोगकर्ता ऑब्जेक्ट को निम्न तरह से नरम हटा दिया जाता है।डेविस
How to "soft delete" user with Devise
मेरे implmenetation एक छोटा सा फर्क इस तरह से है। उपयोगकर्ता मॉडल में 'delete_flag' विशेषता है। और, soft_delete विधि निष्पादित करता है "update_attribtue (: delete_flag, true)"
लेकिन, मुझे साइन_इन क्रिया लागू करना है। मेरे इम्प्लेमेनेटेशन में निम्नलिखित है।
class SessionsController < Devise::SessionsController
def create
resource = warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#new")
if resource.deleted_flag
p "deleted account : " + resource.deleted_flag.to_s
sign_out(resource)
render :controller => :users, :action => :index
else
if is_navigational_format?
if resource.sign_in_count == 1
set_flash_message(:notice, :signed_in_first_time)
else
set_flash_message(:notice, :signed_in)
end
end
sign_in(resource_name, resource)
respond_with resource, :location => redirect_location(resource_name, resource)
end
end
end
मुझे लगता है कि इस कोड में अजीब अंक हैं।
यदि हटाया गया उपयोगकर्ता गायन करने का प्रयास करता है, सिस्टम परमिट लॉगिंग और तुरंत लॉग आउट करें। और, सिस्टम फ्लैश प्रदर्शित नहीं कर सकता [: चेतावनी] संदेश ...
मैं दो बिंदु जानना चाहता हूं।
- हटाए गए उपयोगकर्ताओं को लॉगिन करने के लिए प्रतिबंधित करने के लिए मैं कैसे कार्यान्वित करूं?
- हटाए गए उपयोगकर्ता लॉगिन करने का प्रयास करते समय फ्लैश [: अलर्ट] प्रदर्शित करने के लिए मैं कैसे कार्यान्वित करूं?
कृपया यह भी देखें http://stackoverflow.com/q/8107966/249760 - जो वास्तव में उपयोगकर्ताओं के हस्ताक्षर को रोकने के साथ-साथ वर्तमान सत्रों को लात मारने दोनों को पूरा करता है। –