この方法で @Before を使用できます。
@Before
static void addUser() {
User user = connected();
if(user != null) {
renderArgs.put("user", user);
}
}
static User connected() {
if(renderArgs.get("user") != null) {
return renderArgs.get("user", User.class);
}
// Find your user from session
String username = session.get("user");
if(username != null) {
return User.find("byUsername", username).first();
}
return null;
}
// ~~render your login if the user is not finded in session
public static void index() {
if(connected() != null) {
render();
}
login();
}
このサンプル コードは、YOUR_PLAY_DIR/samples-and-tests/booking にあります。
@emt14 が言ったように、Play セキュア モジュールを使用すると、より簡単にこれを行うことができます。YOUR_PLAY_DIR/samples-and-tests/forum でフォーラム アプリのサンプルを確認してください。