5 Stimmen

Digest-Authentifizierung in Devise

Ich verwende Rails 3 und Devise für die Authentifizierung. Ich habe eine ordnungsgemäß funktionierende Devise für die Website und grundlegende Authentifizierung für API (json Handler). Wie kann ich die Digest-Authentifizierung aktivieren?

Ihr Wiki sagt mir, dass ich Folgendes hinzufügen soll

def http_authenticate
  authenticate_or_request_with_http_digest do |user_name, password|
    user_name == "foo" && password == "bar"
  end
  warden.custom_failure! if performed?
end

Wo füge ich es hinzu und wie stelle ich sicher, dass Benutzername/Kennwort übereinstimmen?

1voto

Ben Sand Punkte 1090

Dieser Wiki-Eintrag setzt eine Menge voraus.

Ich vermute, dass Sie es dem entsprechenden Controller hinzufügen müssen (oder dem Anwendungscontroller, wenn Sie es für alles haben wollen).

Und dann fügen Sie einen :before_filter :http_authenticate! Sie könnten auch versuchen, die Person ausfindig zu machen, die diese Wiki-Seite geschrieben hat, und sie fragen.

Anmerkung. Dies verlässt sich auf Warden, um Ihre Authentifizierung durchzuführen - Devise verwaltet nur Konten.

Einer der Gründe, warum diese Dinge nicht so gut dokumentiert sind, ist, dass die meisten Leute ein ausgeklügeltes Authentifizierungsmanagementsystem (z.B. OmniAuth) und etwas anderes für Berechtigungen/Autorisierung verwenden, z.B. DeclarativeAuthorization oder CanCan, wenn Sie etwas leichteres bevorzugen.

HTTPBasic (und ich nehme an Digest) neigt dazu, mit diesen nicht gut zusammenzuarbeiten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X