لقد كنت أستخدم AuthLogic ، ولكن الآن بحاجة إلى إزالة جميع آثارها. ما الذي أنا بحاجة لفعله؟

StackOverflow https://stackoverflow.com/questions/4050700

سؤال

لذلك سأتحول من 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 بشكل صحيح أو استخدام ترحيل لإعادة تسميتها (أو ربما يمكنها تعيينها في مكان ما لكنني لم أجدها).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top