这是 Play Framework 中控制器的一个简单示例,其中每个操作都会检查会话 - 如果用户已登录。
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"))
}
}
}
我想处理构造函数中的会话检查而不是每个操作方法,但我只是不知道如何?它应该看起来像这样:
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"))
}
}
这可能吗?如果可以,那怎么办?
我的堆栈是 Play Framework 2.2.1、Scala 2.10.3、Java 1.8.0-ea 64bit
更新 - 已解决感谢您的所有想法,现已找到解决方案,请参阅我的答案。