Ich benutze Schienen 3 und entwerfe und ich möchteHabe einen SecurityController, wo ich Methoden wie sign_in_user oder reset_password aufrufen kann, die ein Post sein werden, der Parameter wie Benutzername und Passwort an ihn weitergibt.
Ich weiß, ich könnte before_filter verwenden: authenticate_user! aber ich möchte mich authentifizieren. Wenn die Authentifizierung erfolgreich ist, möchte ich für diesen Benutzer sign_in.
Grund, warum ich das tue, ist, weil ich eine iPhone-App habe, die davon abhängt, dass ich mich bei der Web-App authentifiziere, um die App zu benutzen.
Antworten:
1 für die Antwort № 1Ich hatte noch keinen Grund, dies selbst zu tun, aber wenn Sie den Abschnitt "Konfigurieren von Controllern" unter lesen https://github.com/plataformatec/deviseEs zeigt, wie Sie einen benutzerdefinierten Controller erstellen können, der erweitert wird Devise::SessionsController
und zeigen Sie dann Ihr Authentifizierungsrouting auf diesen Controller. Ich denke, das ist, was Sie fragen, wie es geht - richtig?
Um von der Seite zu zitieren ...
Wenn die Anpassung auf Sichtenebene nicht ausreicht, können Sie jeden Controller mithilfe der folgenden Schritte anpassen:
1) Erstellen Sie Ihren eigenen Controller, zum Beispiel einen Admins :: SessionsController:
class Admins::SessionsController < Devise::SessionsController
end
2) Weisen Sie den Router an, diesen Controller zu verwenden:
devise_for :admins, :controllers => { :sessions => "admins/sessions" }
3) Und seit wir den Controller geändert haben, wird es nicht mehr die "devise / sessions" Views verwenden, also vergessen Sie nicht, "devise / sessions" in "admin / sessions" zu kopieren.