Jak mogę nadpisać/ustaw Authlogic korzystania z pola e-mail zamiast polu nazwy użytkownika zarówno rejestrację i uwierzytelniania, o login + e-mail jest czasami zbyt intensywne dla niektórych niektórych scenariuszach rejestracyjnychAuthlogic email jako nazwa użytkownika
12
A
Odpowiedz
11
Jeśli po prostu usuwasz kolumnę login
i dodajesz kolumnę email
, authlogic zajmie się resztą.
Zobacz ten przykład readme dla wszystkich opcjonalnych/wymaganych kolumn DB.
10
lepsza odpowiedź Spróbuj tego ... cóż, zaktualizuj authlogic gem, jeśli potrzebujesz!
user_session.rb
class UserSession < Authlogic::Session::Base
find_by_login_method :find_by_email #for example or you can make what ever method see exapmle 2
end
--- Przykład 2
user_session.rb
class UserSession < Authlogic::Session::Base
find_by_login_method :find_by_anything
end
user.rb
class User < ActiveRecord::Base
acts_as_authentic
def self.find_by_anything(login)
find_by_login(login) || find_by_email(login) || find_by_id(login)
end
end
+1
dzięki za odpowiedź amrnt! – ADAM
3
Komentarz Adama zawiera dobrą odpowiedź na to pytanie. Dodaj to do swojego modelu użytkownika:
class User < ActiveRecord::Base
acts_as_authentic do |c| c.login_field = :email end
end
magic !. Również znalazłem za pomocą tego również pracował: acts_as_authentic do | c | c.login_field =: email koniec – ADAM
Potrzebowałem zalogować się za pomocą poczty e-mail, a następnie sprzedać nazwę użytkownika. Więc wolę komentarz komentarza ADAM. –