Berechtigungsprüfung im Controller - Scala / Play
Dies ist ein einfaches Beispiel für einen Controller in Play Framework, bei dem jede Aktion die Sitzung überprüft - sofern der Benutzer angemeldet ist.
object Application extends Controller {
def index = Action { implicit request =>
if (request.session.isEmpty) {
Redirect("/login")
} else {
Ok(views.html.index("index"))
}
}
def about = Action { implicit request =>
if (request.session.isEmpty) {
Redirect("/login")
} else {
Ok(views.html.index("about"))
}
}
}
Ich möchte die Sitzungsüberprüfung im Konstruktor anstelle jeder Aktionsmethode durchführen, weiß aber nicht, wie? Es sollte ungefähr so aussehen:
object Application extends Controller {
//This is where the constructor would check if session exists
//and if not - redirect to login screen
def index = Action {
Ok(views.html.index("index"))
}
def about = Action {
Ok(views.html.index("about"))
}
}
Ist das möglich und wenn ja, wie?
Mein Stack ist Play Framework 2.2.1, Scala 2.10.3, Java 1.8.0-ea 64bit
UPDATE - Gelöst Vielen Dank für alle Ihre Ideen, die Lösung ist jetzt gefunden, siehe meine Antwort.