لقد كنت أستخدم AuthLogic ، ولكن الآن بحاجة إلى إزالة جميع آثارها. ما الذي أنا بحاجة لفعله؟
-
27-09-2019 - |
سؤال
لذلك سأتحول من Authlogic إلى ابتكار. نظرًا لأنني لا أملك سوى اثنين من حسابات الاختبار ، فقد اعتقدت أنه سيكون من الأفضل إزالة جميع الأشياء الخاصة بـ AuthLogic وجدول المستخدمين ، ثم الإعداد. أنا أستخدم Rails 3. بصرف النظر عن إزالة Authlogic من Gemfile الخاص بي ، وإزالة نماذج/جداول المستخدم و user_session ، هل هناك أي شيء آخر أحتاج إلى القيام به؟
المحلول
يو ،
عند استخدام ابتكار مع جميع الوحدات ، يجب أن يبدو جدول المستخدم الخاص بك هكذا:
id | integer | not null default nextval('contributors_id_seq'::regclass)
email | character varying(255) | not null default ''::character varying
encrypted_password | character varying(128) | not null default ''::character varying
password_salt | character varying(255) | not null default ''::character varying
confirmation_token | character varying(255) |
confirmed_at | timestamp without time zone |
confirmation_sent_at | timestamp without time zone |
reset_password_token | character varying(255) |
remember_token | character varying(255) |
remember_created_at | timestamp without time zone |
sign_in_count | integer | default 0
current_sign_in_at | timestamp without time zone |
last_sign_in_at | timestamp without time zone |
current_sign_in_ip | character varying(255) |
last_sign_in_ip | character varying(255) |
failed_attempts | integer | default 0
unlock_token | character varying(255) |
locked_at | timestamp without time zone |
created_at | timestamp without time zone |
updated_at | timestamp without time zone |
سيكون عليك كتابة ترحيل لإضافة/إعادة تسمية الأعمدة.
الشيء العظيم هو أنه يمكنك تغيير التشفير الافتراضي إلى المظهر الذي يستخدمه AuthLogic حتى تتمكن من الترحيل بسلاسة جميع مستخدميك الحاليين ...
نرى :http://github.com/plataformatec/devise/blob/master/lib/devise/encryptors/authlogic_sha512.rb
يمكنك تغيير المشفر في Inpistise Entirmizer:
config.encryptor = :authlogic_sha512
يجب أن يكون كل شيء :).
نصائح أخرى
نعم وقد فعلت ذلك ولاحظت أنك لست بحاجة إلى إسقاط / إزالة جدول المستخدمين (شيء من غير المحتمل أن تقوم به في الإنتاج بشكل واضح!) ، فقط استخدم الترحيل (S) لإضافة الحقول المذكورة أعلاه. قم بتغيير التشفير كما هو مطلوب ويجب أن يكون ناعمًا إلى حد ما. تأكد من تسمية حقول password_salt و encrypted_password بشكل صحيح أو استخدام ترحيل لإعادة تسميتها (أو ربما يمكنها تعيينها في مكان ما لكنني لم أجدها).