Sie können Authenticators implementieren, um Benutzer zu authentifizieren. Sie könnten Ihre Authentifizierungslogik in Ihre Authenticator-Implementierung schreiben.
Play kommt bereits mit einem eingebauten Authenticator Aktion, die wir erweitern werden, um unsere Logik hinzuzufügen. Wir nennen diesen Authentifikator Secured.
import play.*;
import play.mvc.*;
import play.mvc.Http.*;
import models.*;
public class Secured extends Security.Authenticator {
@Override
public String getUsername(Context ctx) {
return ctx.session().get("email");
}
@Override
public Result onUnauthorized(Context ctx) {
return redirect(routes.Application.login());
}
}
Wir haben hier zwei Methoden implementiert. getUsername wird verwendet, um den Benutzernamen des aktuell angemeldeten Benutzers abzurufen. In unserem Fall ist dies die E-Mail-Adresse, die wir im E-Mail-Attribut in der Sitzung beim Anmelden des Benutzers festlegen. Wenn diese Methode einen Wert zurückgibt, betrachtet der Authentifikator den Benutzer als angemeldet und lässt die Anfrage weitergehen . Wenn die Methode jedoch null zurückgibt, blockiert der Authentifikator die Anforderung und ruft stattdessen onUnathorized auf, die wir implementiert haben, um zu unserem Anmeldebildschirm umzuleiten. Sie könnten Ihre eigene Geschäftslogik für Benutzerverifikationsbenutzer implementieren.
Jetzt verwenden wir diesen Authentifikator. In Application.java, fügen Sie die @ Security.Authenticated Anmerkung mit unserem Authenticator an die Index Methode:
import play.mvc.Controller;
import play.mvc.Result;
public class Application extends Controller {
@Security.Authenticated(Secured.class)
public static Result index() {
return ok(index.render(
Project.findInvolving(request().username()),
Task.findTodoInvolving(request().username()),
User.find.byId(request().username())
));
}
}
Refs:Play Implementing Authenticator Example
was ist das? https://www.playframework.com/documentation/2.1.1/JavaGuide4 –
versuchen Sie, die Bedingung zu verwenden, nachdem Sie die Antwort erhalten, oder verwenden Sie die Anmerkung, nachdem Sie überprüft haben, was auch immer Sie wollen! Ich sehe das Problem hier nicht –
@AhmadAlsanie, wenn Sie ein Beispiel, wie ich eine Anmerkung nach der Durchführung einer Überprüfung verwenden könnte, das ist genau das, was ich suche nach Antwort. – Blinky