हमारे आवेदन में हमारे पास सामान्य उपयोगकर्ता हैं। हालांकि, हम कुछ लोगों को आमंत्रित करने के लिए निमंत्रण करने में सक्षम होना चाहते हैं। ध्यान दें कि एक आमंत्रण सीधे उपयोगकर्ता के साथ मिलकर होता है, क्योंकि हम पहले से ही इन उपयोगकर्ताओं के लिए कुछ सेटिंग्स सेट करने में सक्षम होना चाहते हैं। (हम अपने पुराने सॉफ्टवेयर से नए ग्राहकों को कम कर रहे हैं)।डेविस: पासवर्ड के बिना उपयोगकर्ता बनाएं
तो:
- एक व्यवस्थापक द्वारा नया उपयोगकर्ता बनाने और उसकी सेटिंग परिवर्तित करने में सक्षम होना चाहिए।
- जब कोई अपने
invitation_token
के साथ एक लिंक का पालन करता है, तो उन्हें एक फॉर्म देखना चाहिए जहां वे अपने खाते के लिए पासवर्ड सेट कर सकते हैं।
मुझे क्या परेशानी हो रही है, यह है कि सामान्य पासवर्ड सत्यापन को छोड़कर व्यवस्थापक को उपयोगकर्ता खाता बनाने में सक्षम कैसे किया जाए। यदि एक डिफ़ॉल्ट पासवर्ड सेट करने की आवश्यकता होगी, तो यह एक भयानक समाधान होगा, क्योंकि इससे गंभीर सुरक्षा दोष पैदा होगा।
पासवर्ड प्रदान किए बिना डेविस में नया उपयोगकर्ता कैसे बनाएं?
विधि 1::
अधिभार वसीयत के password_required?
विधि
class User < ActiveRecord::Base
attr_accessor :skip_password_validation # virtual attribute to skip password validation while saving
protected
def password_required?
return false if skip_password_validation
super
end
end
## Saving:
#
user.skip_password_validation = true
user.save
विधि 2:
अक्षम
आप एक डेटाबेस बाधा त्रुटि दिखाई दे रहा है या अपने नए उपयोगकर्ता रिकॉर्ड सिर्फ 'मान्य नहीं है'? – Josh