JSecurity

org.jsecurity.spring
Class SpringWebConfiguration

java.lang.Object
  extended by org.jsecurity.config.ResourceConfiguration
      extended by org.jsecurity.config.TextConfiguration
          extended by org.jsecurity.config.IniConfiguration
              extended by org.jsecurity.web.config.IniWebConfiguration
                  extended by org.jsecurity.spring.SpringWebConfiguration
All Implemented Interfaces:
Serializable, Configuration, SecurityManagerFactory, Initializable, WebConfiguration

public class SpringWebConfiguration
extends IniWebConfiguration

JSecurity configuration that relies on Spring to define and initialize the JSecurity SecurityManager instance (and all of its dependencies) and makes it avaialble to this filter by performing a Spring bean lookup. The URL/filter behavior is still loaded according to the behavior of the parent class IniWebConfiguration

The behavior used by this filter is as follow:

  1. If a 'securityManagerBeanName' init-param is set, retrieve that sec manager from Spring.
  2. if not, look for beans of type SecurityManager - if there is one instance, use that. If more than one exist, use the one named "securityManager". If none of them are named "securityManager" throw an exception that says you have to set the init-param to specify the bean name.
  3. if no beans of type SecurityManager, look for any beans of type Realm. If some are found, create a security manager by calling super.createSecurityManager(Map) and set the Realms on the default security manager returned.
  4. if none of the above, throw an exception that explains the options.
    1. Since:
      0.9
      Author:
      Jeremy Haile
      See Also:
      IniWebConfiguration, Serialized Form

      Field Summary
      static String DEFAULT_SECURITY_MANAGER_BEAN_ID
                 
      static String SECURITY_MANAGER_BEAN_NAME_PARAM_NAME
                 
      protected  String securityManagerBeanName
                 
       
      Fields inherited from class org.jsecurity.web.config.IniWebConfiguration
      chains, filterConfig, FILTERS, pathMatcher, URLS
       
      Fields inherited from class org.jsecurity.config.IniConfiguration
      configUrl, DEFAULT_INI_RESOURCE_PATH, ignoreResourceNotFound, iniResource, MAIN, SESSION_MODE_PROPERTY_NAME
       
      Fields inherited from class org.jsecurity.config.ResourceConfiguration
      securityManager
       
      Constructor Summary
      SpringWebConfiguration()
                 
       
      Method Summary
      protected  SecurityManager createDefaultSecurityManager()
                 
      protected  SecurityManager createDefaultSecurityManagerFromRealms(ApplicationContext appCtx, Map<String,Map<String,String>> sections)
                 
      protected  SecurityManager createSecurityManager(Map<String,Map<String,String>> sections)
                 
      protected  SecurityManager getOrCreateSecurityManager(ApplicationContext appCtx, Map<String,Map<String,String>> sections)
                 
       String getSecurityManagerBeanName()
                 
      protected  SecurityManager getSecurityManagerByType(ApplicationContext appCtx)
                 
       void init()
                Initializes this object.
       void setSecurityManagerBeanName(String securityManagerBeanName)
                 
       
      Methods inherited from class org.jsecurity.web.config.IniWebConfiguration
      afterSecurityManagerSet, assertFilter, assertFilters, createChains, createDefaultFilters, getChain, getFilterConfig, getFilters, getPathWithinApplication, initFilter, initFilters, newSecurityManagerInstance, pathMatches, setFilterConfig
       
      Methods inherited from class org.jsecurity.config.IniConfiguration
      createSecurityManagerForSection, getConfigUrl, load, load, load, load, process, processIni, setConfigUrl
       
      Methods inherited from class org.jsecurity.config.TextConfiguration
      getConfig, loadTextConfig, setConfig
       
      Methods inherited from class org.jsecurity.config.ResourceConfiguration
      getSecurityManager, setSecurityManager
       
      Methods inherited from class java.lang.Object
      clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
       
      Methods inherited from interface org.jsecurity.mgt.SecurityManagerFactory
      getSecurityManager
       

      Field Detail

      SECURITY_MANAGER_BEAN_NAME_PARAM_NAME

      public static final String SECURITY_MANAGER_BEAN_NAME_PARAM_NAME
      See Also:
      Constant Field Values

      DEFAULT_SECURITY_MANAGER_BEAN_ID

      public static final String DEFAULT_SECURITY_MANAGER_BEAN_ID
      See Also:
      Constant Field Values

      securityManagerBeanName

      protected String securityManagerBeanName
      Constructor Detail

      SpringWebConfiguration

      public SpringWebConfiguration()
      Method Detail

      getSecurityManagerBeanName

      public String getSecurityManagerBeanName()

      setSecurityManagerBeanName

      public void setSecurityManagerBeanName(String securityManagerBeanName)

      init

      public void init()
                throws JSecurityException
      Description copied from interface: Initializable
      Initializes this object.

      Specified by:
      init in interface Initializable
      Overrides:
      init in class IniConfiguration
      Throws:
      JSecurityException - if an exception occurs during initialization.

      createDefaultSecurityManager

      protected SecurityManager createDefaultSecurityManager()
      Overrides:
      createDefaultSecurityManager in class IniConfiguration

      createSecurityManager

      protected SecurityManager createSecurityManager(Map<String,Map<String,String>> sections)
      Overrides:
      createSecurityManager in class IniConfiguration

      getOrCreateSecurityManager

      protected SecurityManager getOrCreateSecurityManager(ApplicationContext appCtx,
                                                           Map<String,Map<String,String>> sections)

      createDefaultSecurityManagerFromRealms

      protected SecurityManager createDefaultSecurityManagerFromRealms(ApplicationContext appCtx,
                                                                       Map<String,Map<String,String>> sections)

      getSecurityManagerByType

      protected SecurityManager getSecurityManagerByType(ApplicationContext appCtx)

      JSecurity

      Copyright © 2004-2008 JSecurity.