Class IniShiroFilter

All Implemented Interfaces:
javax.servlet.Filter, org.apache.shiro.lang.util.Nameable

Deprecated.
in 1.2 in favor of using the ShiroFilter

Deprecated

This filter has been deprecated as of Shiro 1.2 in favor of using the ShiroFilter in web.xml instead. See the ShiroFilter JavaDoc for usage.

======================

Servlet Filter that configures and enables all Shiro functions within a web application by using the INI configuration format.

The actual INI configuration contents are not covered here, but instead in Shiro's Configuration Documentation and additional web-specific Web Documentation.

Usage

Default

By default, the simplest filter declaration expects a shiro.ini resource to be located at /WEB-INF/shiro.ini, or, if not there, falls back to checking the root of the classpath (i.e. classpath:shiro.ini):
 <filter>
     <filter-name>ShiroFilter</filter-name>
     <filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class>
 </filter>
 

Custom Path

If you want the INI configuration to be somewhere other than /WEB-INF/shiro.ini or classpath:shiro.ini, you may specify an alternate location via the configPath init-param:
 <filter>
     <filter-name>ShiroFilter</filter-name>
     <filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class>
     <init-param>
         <param-name>configPath</param-name>
         <param-value>/WEB-INF/someFile.ini</param-value>
     </init-param>
 </filter>
 
Unqualified (schemeless or 'non-prefixed') paths are assumed to be ServletContext resource paths, resolvable via ServletContext#getResourceAsStream.

Non-ServletContext resources may be loaded from qualified locations by specifying prefixes indicating the source, e.g. file:, url:, and classpath:. See the ResourceUtils.getInputStreamForPath(String) JavaDoc for more.

Inline

For relatively simple environments, you can embed the INI config directly inside the filter declaration with the config init-param:
 <filter>
     <filter-name>ShiroFilter</filter-name>
     <filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class>
     <init-param>
         <param-name>config</param-name>
         <param-value>
             #INI config goes here...
      </param-value>
     </init-param>
 </filter>
 
Although this is typically not recommended because any Shiro configuration changes would contribute to version control 'noise' in the web.xml file.

When creating the shiro.ini configuration itself, please see Shiro's Configuration Documentation and Web Documentation.

Since:
1.0
See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • getConfig

      public String getConfig()
      Deprecated.
      Returns the actual INI configuration text to use to build the SecurityManager and FilterChainResolver used by the web application or null if the configPath should be used to load a fallback INI source.

      This value is null by default, but it will be automatically set to the value of the 'config' init-param if it exists in the FilterConfig provided by the servlet container at startup.

      Returns:
      the actual INI configuration text to use to build the SecurityManager and FilterChainResolver used by the web application or null if the configPath should be used to load a fallback INI source.
    • setConfig

      public void setConfig(String config)
      Deprecated.
      Sets the actual INI configuration text to use to build the SecurityManager and FilterChainResolver used by the web application. If this value is null, the configPath will be checked to see if a .ini file should be loaded instead.

      This value is null by default, but it will be automatically set to the value of the 'config' init-param if it exists in the FilterConfig provided by the servlet container at startup.

      Parameters:
      config - the actual INI configuration text to use to build the SecurityManager and FilterChainResolver used by the web application.
    • getConfigPath

      Deprecated.
      Returns the config path to be used to load a .ini file for configuration if a configuration is not specified via the config attribute.

      This value is null by default, but it will be automatically set to the value of the 'configPath' init-param if it exists in the FilterConfig provided by the servlet container at startup.

      Returns:
      the config path to be used to load a .ini file for configuration if a configuration is not specified via the config attribute.
    • setConfigPath

      public void setConfigPath(String configPath)
      Deprecated.
      Sets the config path to be used to load a .ini file for configuration if a configuration is not specified via the config attribute.

      This value is null by default, but it will be automatically set to the value of the 'configPath' init-param if it exists in the FilterConfig provided by the servlet container at startup.

      Parameters:
      configPath - the config path to be used to load a .ini file for configuration if a configuration is not specified via the config attribute.
    • init

      public void init() throws Exception
      Deprecated.
      Overrides:
      init in class AbstractShiroFilter
      Throws:
      Exception
    • applyInitParams

      protected void applyInitParams() throws Exception
      Deprecated.
      Throws:
      Exception
    • configure

      protected void configure() throws Exception
      Deprecated.
      Throws:
      Exception
    • loadIniFromConfig

      protected org.apache.shiro.config.Ini loadIniFromConfig()
      Deprecated.
    • loadIniFromPath

      protected org.apache.shiro.config.Ini loadIniFromPath()
      Deprecated.
    • applySecurityManager

      protected Map<String,?> applySecurityManager(org.apache.shiro.config.Ini ini)
      Deprecated.
    • applyFilterChainResolver

      protected void applyFilterChainResolver(org.apache.shiro.config.Ini ini, Map<String,?> defaults)
      Deprecated.
    • convertConfigToIni

      protected org.apache.shiro.config.Ini convertConfigToIni(String config)
      Deprecated.
    • getServletContextIniResource

      protected org.apache.shiro.config.Ini getServletContextIniResource(String servletContextPath)
      Deprecated.
      Returns the INI instance reflecting the specified servlet context resource path or null if no resource was found.
      Parameters:
      servletContextPath - the servlet context resource path of the INI file to load
      Returns:
      the INI instance reflecting the specified servlet context resource path or null if no resource was found.
      Since:
      1.2
    • convertPathToIni

      protected org.apache.shiro.config.Ini convertPathToIni(String path)
      Deprecated.
      Converts the specified file path to an Ini instance.

      If the path does not have a resource prefix as defined by ResourceUtils.hasResourcePrefix(String), the path is expected to be resolvable by the ServletContext via ServletContext.getResourceAsStream(String).

      Parameters:
      path - the path of the INI resource to load into an INI instance.
      Returns:
      an INI instance populated based on the given INI resource path.