Cześć,
Poradźcie jak zrobić coś takiego.
User nie ma nazwy użytkownika, tylko dostaje kod w rodzaju “4f5e6kz5”.
W bazie trzymam jego nazwisko, imię i ten kod.
Na powitanie w systemie pokazuję formularz tylko do wpisania tego kodu.
Jak ktoś wpisze kod przypisany do któregoś usera to go wpuszcza i identyfikuje go jako ten user.
Do tego potrzebuję jakoś zalogować się jako admin do rails_admin.
Generalnie upewnij się że kod jest odpowiednio długi (minimum 16 znaków) i będziesz musiał wbudować jakieś flood detection/throtling (np. 1 putanie o kod na sekundę na serwer + 1 pytanie o kod na 10 sekund na IP, rosnące co każde zapytanie).
class Admins::SessionsController < Devise::SessionsController
def create
unless throthle_request
self.current_user = User.where(code: params[:code]).first
end
end
end
Aplikacja będzie produkcyjna, ale nie ma “w środku” nic istotnego. Po prostu trzy ankiety do wypełnienia. Znacznie prościej jest komuś podać kod niż usera i hasło. 16 znaków odpada, bo kod będzie przekazywany na papierze.
Dzięki za porady. Muszę się teraz jakoś przegryźć.