Я пишу небольшое веб-приложение на Grails, и у меня есть следующий вопрос, касающийся передовых методов проектирования контроллеров и использования GORM:
Я храню пользовательский объект в session.user. В настоящее время все мои методы действия начинаются со следующего кода, чтобы убедиться, что действительный пользователь вошел в систему и что пользовательский объект свежий:
class FooController {
def actionMethodThatRequiresAValidUser = {
if (!session?.user) {
redirect(controller: "authentication", action: "login")
}
session.user.refresh()
...
/* do stuff */
...
}
}
Это лучшая практика? Можно ли сделать это лучше и / или более кратко?