/ / authentifizieren Benutzer mit Gerät in benutzerdefinierten Controller - Ruby-on-Rails-3, Authentifizierung, zu entwickeln

authentifizieren Benutzer mit Gerät in benutzerdefinierten Controller - Ruby-on-Rails-3, Authentifizierung, Geräte

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 № 1

Ich 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::SessionsControllerund 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.