Feinkörnige Authentifizierung mit RESTlet

7

Ich möchte eine Ressource mithilfe von RESTlet mit einer feinkörnigen Authentifizierung verfügbar machen. Mein ServerResource sollte nur für authentifizierte Mitglieder (mit BASIC-Authentifizierung) über GET zugänglich sein. Anfragen mit POST sollten jedoch auch für Anrufer ohne Authentifizierung verfügbar sein.

Um zu klären: Ссылка sollte es jedem erlauben, sich mit POST zu registrieren, aber nur registrierte Mitglieder sollten GET eine Liste aller Benutzer haben.

Ich bin leider nicht viel in RESTlet und ich finde nur Beispiele mit gröberer Authentifizierung für ganze Restlet s oder Router s.

Wie aktiviere ich dann die optionale Authentifizierung für Ressourcen und überprüfe sie auf einer pro-Methode-Ebene?

Vielen Dank im Voraus!

    
b_erb 07.02.2010, 16:50
quelle

2 Antworten

15

Um die Standardauthentifizierung in RESTlet 2.0 durchzuführen (ich nehme an, Sie verwenden 2.0, da Sie ServerResource erwähnen), müssen Sie ChallengeAuthenticator verwenden. Wenn dies mit optional = true konfiguriert ist, wird die Authentifizierung nur angefordert, wenn Sie ChallengeAuthenticator.challenge() aufrufen.

Sie können Ihre Anwendung mit einer authenticate() -Methode erstellen und diese aufrufen, wenn Sie Zugriff auf eine zu sichernde Ressource benötigen:

Anwendung:

%Vor%

Ressource:

%Vor%     
Sam 08.02.2010, 09:41
quelle
5

Ich verwende derzeit Restlet v2.0.10.

Das Problem mit ChallengeAuthenticator.isOptional() ist, dass es alles oder nichts ist. Eine Alternative zu der obigen Antwort von @ sea36 besteht darin, ChallengeAuthenticator.beforeHandle() zu überschreiben, um entweder die Authentifizierung durchzuführen oder sie basierend auf der Anforderungsmethode zu überspringen. Zum Beispiel erfordert die Ressource unten nur Authentifizierung, wenn die GET-Methode verwendet wird.

Anwendung:

%Vor%

Ressource:

%Vor%

Beachten Sie, dass in diesem Beispiel die Richtlinie für die Authentifizierung bei GET nur auf UserResource und nicht auf andere vom Router verwaltete Ressourcen angewendet wird.

    
jaguild 11.05.2012 01:05
quelle

Tags und Links