I'd like to create an AuthorizationFilter
in my Grails app that will inspect request parameters and determine whether a user is authorized to proceed with a request. I was hoping I could throw a custom exception from within my AuthorizationFilter
and later handle it with Grails declarative execption handling via a route like:
"403"(controller: 'error', action: 'status403', exception:AuthException)
... but turns out when I try this in grails 2.2.4 (and the latest dev snapshot) I get
java.lang.IllegalArgumentException: Method name must not be null
at grails.plugin.cache.web.ProxyAwareMixedGrailsControllerHelper.retrieveAction(ProxyAwareMixedGrailsControllerHelper.java:41)
So... is there any good way to use declarative exception handling together with filters?
I guess you can handle declarative exception from
Controllers
butFilters
. You can use response instead to send the error codeAbove logic will render the response from ErrorController's
status403
action based on theUrlMapping
that is provided in the questionMake sure you are excluding
error
controller from filters.