org.codehaus.groovy.grails.plugins.springsecurity
Class AnnotationFilterInvocationDefinition

java.lang.Object
  extended by org.codehaus.groovy.grails.plugins.springsecurity.AbstractFilterInvocationDefinition
      extended by org.codehaus.groovy.grails.plugins.springsecurity.AnnotationFilterInvocationDefinition
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean, org.springframework.security.intercept.ObjectDefinitionSource, org.springframework.security.intercept.web.FilterInvocationDefinitionSource

public class AnnotationFilterInvocationDefinition
extends AbstractFilterInvocationDefinition

A FilterInvocationDefinitionSource that uses rules defined with Controller annotations combined with static rules defined in SecurityConfig.groovy, e.g. for js, images, css or for rules that cannot be expressed in a controller like '/**'.

Author:
Burt Beckwith

Field Summary
 
Fields inherited from class org.codehaus.groovy.grails.plugins.springsecurity.AbstractFilterInvocationDefinition
_compiled, _log, DENY
 
Constructor Summary
AnnotationFilterInvocationDefinition()
           
 
Method Summary
protected  String determineUrl(org.springframework.security.intercept.web.FilterInvocation filterInvocation)
           
 void initialize(Map<String,Collection<String>> staticRules, org.codehaus.groovy.grails.web.mapping.UrlMappingsHolder urlMappingsHolder, org.codehaus.groovy.grails.commons.GrailsClass[] controllerClasses)
          Called by the plugin to set controller role info.
 
Methods inherited from class org.codehaus.groovy.grails.plugins.springsecurity.AbstractFilterInvocationDefinition
afterPropertiesSet, getAttributes, getConfigAttributeDefinitions, getConfigAttributeMap, getUrlMatcher, initialize, lowercaseAndStringQuerystring, setRejectIfNoRule, setUrlMatcher, supports
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AnnotationFilterInvocationDefinition

public AnnotationFilterInvocationDefinition()
Method Detail

determineUrl

protected String determineUrl(org.springframework.security.intercept.web.FilterInvocation filterInvocation)
Specified by:
determineUrl in class AbstractFilterInvocationDefinition

initialize

public void initialize(Map<String,Collection<String>> staticRules,
                       org.codehaus.groovy.grails.web.mapping.UrlMappingsHolder urlMappingsHolder,
                       org.codehaus.groovy.grails.commons.GrailsClass[] controllerClasses)
Called by the plugin to set controller role info.
Reinitialize by calling ctx.objectDefinitionSource.initialize( ctx.authenticateService.securityConfig.security.annotationStaticRules, ctx.grailsUrlMappingsHolder, ApplicationHolder.application.controllerClasses)

Parameters:
staticRules - keys are URL patterns, values are role names for that pattern
urlMappingsHolder - mapping holder
controllerClasses - all controllers