我在Grails写了一个小的webapp,我对控制器设计和使用GORM的最佳实践有以下问题:
我将用户对象存储在session.user中.目前,我的所有操作方法都以下面的代码开头,以确保有效用户已登录并且用户对象是新鲜的:
class FooController { def actionMethodThatRequiresAValidUser = { if (!session?.user) { redirect(controller: "authentication", action: "login") } session.user.refresh() ... /* do stuff */ ... } }
这是最佳做法吗?它能以更好和/或更简洁的方式完成吗?
使用过滤器,这样您就可以将相同的重复代码放在过滤器中,并使控制器专注于实际操作.