(Quick Reference)

filters

Purpose

The filters plugin configures Grails' support for Filters.

Examples

An example filter:

class SecurityFilters {
    def filters = {
        loginCheck(controller: '*', action: '*') {
            before = {
                if (!session.user && !actionName.equals('login')) {
                    redirect(action: 'login')
                    return false
                }
            }
        }
    }
}

Filter rule attributes:

  • controller - controller matching pattern, by default * is replaced with .* and a regex is compiled
  • action - action matching pattern, by default * is replaced with .* and a regex is compiled
  • regex (true/false) - use regex syntax (don't replace '*' with '.*')
  • find (true/false) - rule matches with partial match (see java.util.regex.Matcher.find())
  • invert (true/false) - invert the rule (NOT rule)

Description

Refer to the section on Filters in the Grails user guide which details how filters work.

Configured Spring Beans:

  • filterInterceptor - An instance of CompositeInterceptor that composes all the filters together into a single Spring Interceptor.

Configured Spring Beans given a filter called SecurityFilters:

  • SecurityFiltersClass - The GrailsFiltersClass instance which aids in analyzing the conventions within the filter.
  • SecurityFilters - A singleton reference to the filter itself to support auto-wiring into a Filter