I'm writing a small webapp in Grails and I have the following question regarding best practices for controller design and using GORM:
I'm storing the user object in session.user. Currently all my action methods start with the following code to make sure a valid user is logged in and that the user object is fresh:
class FooController {
def actionMethodThatRequiresAValidUser = {
if (!session?.user) {
redirect(controller: "authentication", action: "login")
}
session.user.refresh()
...
/* do stuff */
...
}
}
Is that best practice? Can it be done in a better and/or more concise way?
Use a filter, that way you can put that same repeated code in the filter and keep your controllers focussed on the real action.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With