<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<title>IniShiroFilter xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/shiro/web/servlet/IniShiroFilter.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> *     <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> * under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> */</em>
<a name="19" href="#19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.shiro.web.servlet;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.config.ConfigurationException;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.config.Ini;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.config.IniFactorySupport;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.io.ResourceUtils;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.mgt.SecurityManager;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.util.CollectionUtils;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.util.StringUtils;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.web.config.IniFilterChainResolverFactory;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.web.config.WebIniSecurityManagerFactory;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.web.filter.mgt.FilterChainResolver;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.web.mgt.WebSecurityManager;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.shiro.web.util.WebUtils;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> java.io.InputStream;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="38" href="#38">38</a>  
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment">/**</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * &lt;h1&gt;Deprecated&lt;/h1&gt;</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * This filter has been deprecated as of Shiro 1.2 in favor of using the {@link ShiroFilter} in {@code web.xml} instead.</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * See the {@link ShiroFilter} JavaDoc for usage.</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> * &lt;p/&gt;</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * ======================</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> * &lt;p/&gt;</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment"> * Servlet Filter that configures and enables all Shiro functions within a web application by using the</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment"> * &lt;a href="<a href="http://en.wikipedia.org/wiki/INI_file" target="alexandria_uri">http://en.wikipedia.org/wiki/INI_file</a>"&gt;INI&lt;/a&gt; configuration format.</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * &lt;p/&gt;</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * The actual INI configuration contents are not covered here, but instead in Shiro's</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * &lt;a href="<a href="http://shiro.apache.org/configuration.html" target="alexandria_uri">http://shiro.apache.org/configuration.html</a>"&gt;Configuration Documentation&lt;/a&gt; and additional web-specific</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * &lt;a href="<a href="http://shiro.apache.org/web.html" target="alexandria_uri">http://shiro.apache.org/web.html</a>"&gt;Web Documentation&lt;/a&gt;.</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> * &lt;h2&gt;Usage&lt;/h2&gt;</em>
<a name="53" href="#53">53</a>  <em class="jxr_javadoccomment"> * &lt;h3&gt;Default&lt;/h3&gt;</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment"> * By default, the simplest filter declaration expects a {@code shiro.ini} resource to be located at</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment"> * {@code /WEB-INF/shiro.ini}, or, if not there, falls back to checking the root of the classpath</em>
<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment"> * (i.e. {@code classpath:shiro.ini}):</em>
<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment"> * &lt;pre&gt;</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment"> * &amp;lt;filter&amp;gt;</em>
<a name="59" href="#59">59</a>  <em class="jxr_javadoccomment"> *     &amp;lt;filter-name&amp;gt;ShiroFilter&amp;lt;/filter-name&amp;gt;</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment"> *     &amp;lt;filter-class&amp;gt;org.apache.shiro.web.servlet.IniShiroFilter&amp;lt;/filter-class&amp;gt;</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment"> * &amp;lt;/filter&amp;gt;</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment"> * &lt;/pre&gt;</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment"> * &lt;h3&gt;Custom Path&lt;/h3&gt;</em>
<a name="64" href="#64">64</a>  <em class="jxr_javadoccomment"> * If you want the INI configuration to be somewhere other than {@code /WEB-INF/shiro.ini} or</em>
<a name="65" href="#65">65</a>  <em class="jxr_javadoccomment"> * {@code classpath:shiro.ini}, you may specify an alternate location via the {@code configPath init-param}:</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment"> * &lt;pre&gt;</em>
<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment"> * &amp;lt;filter&amp;gt;</em>
<a name="68" href="#68">68</a>  <em class="jxr_javadoccomment"> *     &amp;lt;filter-name&amp;gt;ShiroFilter&amp;lt;/filter-name&amp;gt;</em>
<a name="69" href="#69">69</a>  <em class="jxr_javadoccomment"> *     &amp;lt;filter-class&amp;gt;org.apache.shiro.web.servlet.IniShiroFilter&amp;lt;/filter-class&amp;gt;</em>
<a name="70" href="#70">70</a>  <em class="jxr_javadoccomment"> *     &amp;lt;init-param&amp;gt;</em>
<a name="71" href="#71">71</a>  <em class="jxr_javadoccomment"> *         &amp;lt;param-name&amp;gt;configPath&amp;lt;/param-name&amp;gt;</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment"> *         &amp;lt;param-value&amp;gt;/WEB-INF/someFile.ini&amp;lt;/param-value&amp;gt;</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment"> *     &amp;lt;/init-param&amp;gt;</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment"> * &amp;lt;/filter&amp;gt;</em>
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment"> * &lt;/pre&gt;</em>
<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment"> * Unqualified (schemeless or 'non-prefixed') paths are assumed to be {@code ServletContext} resource paths, resolvable</em>
<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment"> * via {@link javax.servlet.ServletContext#getResourceAsStream(String) ServletContext#getResourceAsStream}.</em>
<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment"> * &lt;p/&gt;</em>
<a name="79" href="#79">79</a>  <em class="jxr_javadoccomment"> * Non-ServletContext resources may be loaded from qualified locations by specifying prefixes indicating the source,</em>
<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment"> * e.g. {@code file:}, {@code url:}, and {@code classpath:}.  See the</em>
<a name="81" href="#81">81</a>  <em class="jxr_javadoccomment"> * {@link ResourceUtils#getInputStreamForPath(String)} JavaDoc for more.</em>
<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment"> * &lt;h3&gt;Inline&lt;/h3&gt;</em>
<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment"> * For relatively simple environments, you can embed the INI config directly inside the filter declaration with</em>
<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment"> * the {@code config init-param}:</em>
<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment"> * &lt;pre&gt;</em>
<a name="86" href="#86">86</a>  <em class="jxr_javadoccomment"> * &amp;lt;filter&amp;gt;</em>
<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment"> *     &amp;lt;filter-name&amp;gt;ShiroFilter&amp;lt;/filter-name&amp;gt;</em>
<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment"> *     &amp;lt;filter-class&amp;gt;org.apache.shiro.web.servlet.IniShiroFilter&amp;lt;/filter-class&amp;gt;</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment"> *     &amp;lt;init-param&amp;gt;</em>
<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment"> *         &amp;lt;param-name&amp;gt;config&amp;lt;/param-name&amp;gt;</em>
<a name="91" href="#91">91</a>  <em class="jxr_javadoccomment"> *         &amp;lt;param-value&amp;gt;</em>
<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment"> *             #INI config goes here...</em>
<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment"> *      &amp;lt;/param-value&amp;gt;</em>
<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment"> *     &amp;lt;/init-param&amp;gt;</em>
<a name="95" href="#95">95</a>  <em class="jxr_javadoccomment"> * &amp;lt;/filter&amp;gt;</em>
<a name="96" href="#96">96</a>  <em class="jxr_javadoccomment"> * &lt;/pre&gt;</em>
<a name="97" href="#97">97</a>  <em class="jxr_javadoccomment"> * Although this is typically not recommended because any Shiro configuration changes would contribute to version control</em>
<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment"> * 'noise' in the web.xml file.</em>
<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment"> * &lt;p/&gt;</em>
<a name="100" href="#100">100</a> <em class="jxr_javadoccomment"> * When creating the shiro.ini configuration itself, please see Shiro's</em>
<a name="101" href="#101">101</a> <em class="jxr_javadoccomment"> * &lt;a href="<a href="http://shiro.apache.org/configuration.html" target="alexandria_uri">http://shiro.apache.org/configuration.html</a>"&gt;Configuration Documentation&lt;/a&gt; and</em>
<a name="102" href="#102">102</a> <em class="jxr_javadoccomment"> * &lt;a href="<a href="http://shiro.apache.org/web.html" target="alexandria_uri">http://shiro.apache.org/web.html</a>"&gt;Web Documentation&lt;/a&gt;.</em>
<a name="103" href="#103">103</a> <em class="jxr_javadoccomment"> *</em>
<a name="104" href="#104">104</a> <em class="jxr_javadoccomment"> * @see &lt;a href="<a href="http://shiro.apache.org/configuration.html" target="alexandria_uri">http://shiro.apache.org/configuration.html</a>"&gt;Apache Shiro INI Configuration&lt;/a&gt;</em>
<a name="105" href="#105">105</a> <em class="jxr_javadoccomment"> * @see &lt;a href="<a href="http://shiro.apache.org/web.html" target="alexandria_uri">http://shiro.apache.org/web.html</a>"&gt;Apache Shiro Web Documentation&lt;/a&gt;</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment"> * @since 1.0</em>
<a name="107" href="#107">107</a> <em class="jxr_javadoccomment"> * @deprecated in 1.2 in favor of using the {@link ShiroFilter}</em>
<a name="108" href="#108">108</a> <em class="jxr_javadoccomment"> */</em>
<a name="109" href="#109">109</a> @Deprecated
<a name="110" href="#110">110</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/shiro/web/servlet/IniShiroFilter.html">IniShiroFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html">AbstractShiroFilter</a> {
<a name="111" href="#111">111</a> 
<a name="112" href="#112">112</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CONFIG_INIT_PARAM_NAME = <span class="jxr_string">"config"</span>;
<a name="113" href="#113">113</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String CONFIG_PATH_INIT_PARAM_NAME = <span class="jxr_string">"configPath"</span>;
<a name="114" href="#114">114</a> 
<a name="115" href="#115">115</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DEFAULT_WEB_INI_RESOURCE_PATH = <span class="jxr_string">"/WEB-INF/shiro.ini"</span>;
<a name="116" href="#116">116</a> 
<a name="117" href="#117">117</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger log = LoggerFactory.getLogger(IniShiroFilter.<strong class="jxr_keyword">class</strong>);
<a name="118" href="#118">118</a> 
<a name="119" href="#119">119</a>     <strong class="jxr_keyword">private</strong> String config;
<a name="120" href="#120">120</a>     <strong class="jxr_keyword">private</strong> String configPath;
<a name="121" href="#121">121</a> 
<a name="122" href="#122">122</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/shiro/web/servlet/IniShiroFilter.html">IniShiroFilter</a>() {
<a name="123" href="#123">123</a>     }
<a name="124" href="#124">124</a> 
<a name="125" href="#125">125</a>     <em class="jxr_javadoccomment">/**</em>
<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">     * Returns the actual INI configuration text to use to build the {@link SecurityManager} and</em>
<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">     * {@link FilterChainResolver} used by the web application or {@code null} if the</em>
<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">     * {@link #getConfigPath() configPath} should be used to load a fallback INI source.</em>
<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">     * This value is {@code null} by default, but it will be automatically set to the value of the</em>
<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">     * '{@code config}' {@code init-param} if it exists in the {@code FilterConfig} provided by the servlet</em>
<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     * container at startup.</em>
<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">     *</em>
<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     * @return the actual INI configuration text to use to build the {@link SecurityManager} and</em>
<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     *         {@link FilterChainResolver} used by the web application or {@code null} if the</em>
<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">     *         {@link #getConfigPath() configPath} should be used to load a fallback INI source.</em>
<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">     */</em>
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">public</strong> String getConfig() {
<a name="139" href="#139">139</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.config;
<a name="140" href="#140">140</a>     }
<a name="141" href="#141">141</a> 
<a name="142" href="#142">142</a>     <em class="jxr_javadoccomment">/**</em>
<a name="143" href="#143">143</a> <em class="jxr_javadoccomment">     * Sets the actual INI configuration text to use to build the {@link SecurityManager} and</em>
<a name="144" href="#144">144</a> <em class="jxr_javadoccomment">     * {@link FilterChainResolver} used by the web application.  If this value is {@code null}, the</em>
<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     * {@link #getConfigPath() configPath} will be checked to see if a .ini file should be loaded instead.</em>
<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     * This value is {@code null} by default, but it will be automatically set to the value of the</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     * '{@code config}' {@code init-param} if it exists in the {@code FilterConfig} provided by the servlet</em>
<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     * container at startup.</em>
<a name="150" href="#150">150</a> <em class="jxr_javadoccomment">     *</em>
<a name="151" href="#151">151</a> <em class="jxr_javadoccomment">     * @param config the actual INI configuration text to use to build the {@link SecurityManager} and</em>
<a name="152" href="#152">152</a> <em class="jxr_javadoccomment">     *               {@link FilterChainResolver} used by the web application.</em>
<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">     */</em>
<a name="154" href="#154">154</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setConfig(String config) {
<a name="155" href="#155">155</a>         <strong class="jxr_keyword">this</strong>.config = config;
<a name="156" href="#156">156</a>     }
<a name="157" href="#157">157</a> 
<a name="158" href="#158">158</a>     <em class="jxr_javadoccomment">/**</em>
<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">     * Returns the config path to be used to load a .ini file for configuration if a configuration is</em>
<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">     * not specified via the {@link #getConfig() config} attribute.</em>
<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">     * This value is {@code null} by default, but it will be automatically set to the value of the</em>
<a name="163" href="#163">163</a> <em class="jxr_javadoccomment">     * '{@code configPath}' {@code init-param} if it exists in the {@code FilterConfig} provided by the servlet</em>
<a name="164" href="#164">164</a> <em class="jxr_javadoccomment">     * container at startup.</em>
<a name="165" href="#165">165</a> <em class="jxr_javadoccomment">     *</em>
<a name="166" href="#166">166</a> <em class="jxr_javadoccomment">     * @return the config path to be used to load a .ini file for configuration if a configuration is</em>
<a name="167" href="#167">167</a> <em class="jxr_javadoccomment">     *         not specified via the {@link #getConfig() config} attribute.</em>
<a name="168" href="#168">168</a> <em class="jxr_javadoccomment">     */</em>
<a name="169" href="#169">169</a>     <strong class="jxr_keyword">public</strong> String getConfigPath() {
<a name="170" href="#170">170</a>         <strong class="jxr_keyword">return</strong> configPath;
<a name="171" href="#171">171</a>     }
<a name="172" href="#172">172</a> 
<a name="173" href="#173">173</a>     <em class="jxr_javadoccomment">/**</em>
<a name="174" href="#174">174</a> <em class="jxr_javadoccomment">     * Sets the config path to be used to load a .ini file for configuration if a configuration is</em>
<a name="175" href="#175">175</a> <em class="jxr_javadoccomment">     * not specified via the {@link #getConfig() config} attribute.</em>
<a name="176" href="#176">176</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a name="177" href="#177">177</a> <em class="jxr_javadoccomment">     * This value is {@code null} by default, but it will be automatically set to the value of the</em>
<a name="178" href="#178">178</a> <em class="jxr_javadoccomment">     * '{@code configPath}' {@code init-param} if it exists in the {@code FilterConfig} provided by the servlet</em>
<a name="179" href="#179">179</a> <em class="jxr_javadoccomment">     * container at startup.</em>
<a name="180" href="#180">180</a> <em class="jxr_javadoccomment">     *</em>
<a name="181" href="#181">181</a> <em class="jxr_javadoccomment">     * @param configPath the config path to be used to load a .ini file for configuration if a configuration is</em>
<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">     *                   not specified via the {@link #getConfig() config} attribute.</em>
<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">     */</em>
<a name="184" href="#184">184</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setConfigPath(String configPath) {
<a name="185" href="#185">185</a>         <strong class="jxr_keyword">this</strong>.configPath = StringUtils.clean(configPath);
<a name="186" href="#186">186</a>     }
<a name="187" href="#187">187</a> 
<a name="188" href="#188">188</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> init() <strong class="jxr_keyword">throws</strong> Exception {
<a name="189" href="#189">189</a>         applyInitParams();
<a name="190" href="#190">190</a>         configure();
<a name="191" href="#191">191</a>     }
<a name="192" href="#192">192</a> 
<a name="193" href="#193">193</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> applyInitParams() <strong class="jxr_keyword">throws</strong> Exception {
<a name="194" href="#194">194</a>         String config = getInitParam(CONFIG_INIT_PARAM_NAME);
<a name="195" href="#195">195</a>         <strong class="jxr_keyword">if</strong> (config != <strong class="jxr_keyword">null</strong>) {
<a name="196" href="#196">196</a>             setConfig(config);
<a name="197" href="#197">197</a>         }
<a name="198" href="#198">198</a>         String configPath = getInitParam(CONFIG_PATH_INIT_PARAM_NAME);
<a name="199" href="#199">199</a>         <strong class="jxr_keyword">if</strong> (configPath != <strong class="jxr_keyword">null</strong>) {
<a name="200" href="#200">200</a>             setConfigPath(configPath);
<a name="201" href="#201">201</a>         }
<a name="202" href="#202">202</a>     }
<a name="203" href="#203">203</a> 
<a name="204" href="#204">204</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> configure() <strong class="jxr_keyword">throws</strong> Exception {
<a name="205" href="#205">205</a>         <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> ini = loadIniFromConfig();
<a name="206" href="#206">206</a> 
<a name="207" href="#207">207</a>         <strong class="jxr_keyword">if</strong> (CollectionUtils.isEmpty(ini)) {
<a name="208" href="#208">208</a>             log.info(<span class="jxr_string">"Null or empty configuration specified via 'config' init-param.  "</span> +
<a name="209" href="#209">209</a>                     <span class="jxr_string">"Checking path-based configuration."</span>);
<a name="210" href="#210">210</a>             ini = loadIniFromPath();
<a name="211" href="#211">211</a>         }
<a name="212" href="#212">212</a>         <em class="jxr_comment">//added for SHIRO-178:</em>
<a name="213" href="#213">213</a>         <strong class="jxr_keyword">if</strong> (CollectionUtils.isEmpty(ini)) {
<a name="214" href="#214">214</a>             log.info(<span class="jxr_string">"Null or empty configuration specified via '"</span> + CONFIG_INIT_PARAM_NAME + <span class="jxr_string">"' or '"</span> +
<a name="215" href="#215">215</a>                     CONFIG_PATH_INIT_PARAM_NAME + <span class="jxr_string">"' filter parameters.  Trying the default "</span> +
<a name="216" href="#216">216</a>                     DEFAULT_WEB_INI_RESOURCE_PATH + <span class="jxr_string">" file."</span>);
<a name="217" href="#217">217</a>             ini = getServletContextIniResource(DEFAULT_WEB_INI_RESOURCE_PATH);
<a name="218" href="#218">218</a>         }
<a name="219" href="#219">219</a>         <em class="jxr_comment">//although the preferred default is /WEB-INF/shiro.ini per SHIRO-178, keep this</em>
<a name="220" href="#220">220</a>         <em class="jxr_comment">//for backwards compatibility:</em>
<a name="221" href="#221">221</a>         <strong class="jxr_keyword">if</strong> (CollectionUtils.isEmpty(ini)) {
<a name="222" href="#222">222</a>             log.info(<span class="jxr_string">"Null or empty configuration specified via '"</span> + CONFIG_INIT_PARAM_NAME + <span class="jxr_string">"' or '"</span> +
<a name="223" href="#223">223</a>                     CONFIG_PATH_INIT_PARAM_NAME + <span class="jxr_string">"' filter parameters.  Trying the default "</span> +
<a name="224" href="#224">224</a>                     IniFactorySupport.DEFAULT_INI_RESOURCE_PATH + <span class="jxr_string">" file."</span>);
<a name="225" href="#225">225</a>             ini = IniFactorySupport.loadDefaultClassPathIni();
<a name="226" href="#226">226</a>         }
<a name="227" href="#227">227</a> 
<a name="228" href="#228">228</a>         Map&lt;String, ?&gt; objects = applySecurityManager(ini);
<a name="229" href="#229">229</a>         applyFilterChainResolver(ini, objects);
<a name="230" href="#230">230</a>     }
<a name="231" href="#231">231</a> 
<a name="232" href="#232">232</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> loadIniFromConfig() {
<a name="233" href="#233">233</a>         <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> ini = <strong class="jxr_keyword">null</strong>;
<a name="234" href="#234">234</a>         String config = getConfig();
<a name="235" href="#235">235</a>         <strong class="jxr_keyword">if</strong> (config != <strong class="jxr_keyword">null</strong>) {
<a name="236" href="#236">236</a>             ini = convertConfigToIni(config);
<a name="237" href="#237">237</a>         }
<a name="238" href="#238">238</a>         <strong class="jxr_keyword">return</strong> ini;
<a name="239" href="#239">239</a>     }
<a name="240" href="#240">240</a> 
<a name="241" href="#241">241</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> loadIniFromPath() {
<a name="242" href="#242">242</a>         <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> ini = <strong class="jxr_keyword">null</strong>;
<a name="243" href="#243">243</a>         String path = getConfigPath();
<a name="244" href="#244">244</a>         <strong class="jxr_keyword">if</strong> (path != <strong class="jxr_keyword">null</strong>) {
<a name="245" href="#245">245</a>             ini = convertPathToIni(path);
<a name="246" href="#246">246</a>         }
<a name="247" href="#247">247</a>         <strong class="jxr_keyword">return</strong> ini;
<a name="248" href="#248">248</a>     }
<a name="249" href="#249">249</a> 
<a name="250" href="#250">250</a>     <strong class="jxr_keyword">protected</strong> Map&lt;String, ?&gt; applySecurityManager(<a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> ini) {
<a name="251" href="#251">251</a>         <a href="../../../../../org/apache/shiro/web/config/WebIniSecurityManagerFactory.html">WebIniSecurityManagerFactory</a> factory;
<a name="252" href="#252">252</a>         <strong class="jxr_keyword">if</strong> (CollectionUtils.isEmpty(ini)) {
<a name="253" href="#253">253</a>             factory = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/shiro/web/config/WebIniSecurityManagerFactory.html">WebIniSecurityManagerFactory</a>();
<a name="254" href="#254">254</a>         } <strong class="jxr_keyword">else</strong> {
<a name="255" href="#255">255</a>             factory = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/shiro/web/config/WebIniSecurityManagerFactory.html">WebIniSecurityManagerFactory</a>(ini);
<a name="256" href="#256">256</a>         }
<a name="257" href="#257">257</a> 
<a name="258" href="#258">258</a>         <em class="jxr_comment">// Create the security manager and check that it implements WebSecurityManager.</em>
<a name="259" href="#259">259</a>         <em class="jxr_comment">// Otherwise, it can't be used with the filter.</em>
<a name="260" href="#260">260</a>         <a href="../../../../../org/apache/shiro/mgt/SecurityManager.html">SecurityManager</a> securityManager = factory.getInstance();
<a name="261" href="#261">261</a>         <strong class="jxr_keyword">if</strong> (!(securityManager instanceof WebSecurityManager)) {
<a name="262" href="#262">262</a>             String msg = <span class="jxr_string">"The configured security manager is not an instance of WebSecurityManager, so "</span> +
<a name="263" href="#263">263</a>                     <span class="jxr_string">"it can not be used with the Shiro servlet filter."</span>;
<a name="264" href="#264">264</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/shiro/config/ConfigurationException.html">ConfigurationException</a>(msg);
<a name="265" href="#265">265</a>         }
<a name="266" href="#266">266</a> 
<a name="267" href="#267">267</a>         setSecurityManager((WebSecurityManager) securityManager);
<a name="268" href="#268">268</a> 
<a name="269" href="#269">269</a>         <strong class="jxr_keyword">return</strong> factory.getBeans();
<a name="270" href="#270">270</a>     }
<a name="271" href="#271">271</a> 
<a name="272" href="#272">272</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> applyFilterChainResolver(<a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> ini, Map&lt;String, ?&gt; defaults) {
<a name="273" href="#273">273</a>         <strong class="jxr_keyword">if</strong> (ini == <strong class="jxr_keyword">null</strong> || ini.isEmpty()) {
<a name="274" href="#274">274</a>             <em class="jxr_comment">//nothing to use to create the resolver, just return</em>
<a name="275" href="#275">275</a>             <em class="jxr_comment">//(the AbstractShiroFilter allows a null resolver, in which case the original FilterChain is</em>
<a name="276" href="#276">276</a>             <em class="jxr_comment">// always used).</em>
<a name="277" href="#277">277</a>             <strong class="jxr_keyword">return</strong>;
<a name="278" href="#278">278</a>         }
<a name="279" href="#279">279</a> 
<a name="280" href="#280">280</a>         <em class="jxr_comment">//only create a resolver if the 'filters' or 'urls' sections are defined:</em>
<a name="281" href="#281">281</a>         Ini.Section urls = ini.getSection(IniFilterChainResolverFactory.URLS);
<a name="282" href="#282">282</a>         Ini.Section filters = ini.getSection(IniFilterChainResolverFactory.FILTERS);
<a name="283" href="#283">283</a>         <strong class="jxr_keyword">if</strong> ((urls != <strong class="jxr_keyword">null</strong> &amp;&amp; !urls.isEmpty()) || (filters != <strong class="jxr_keyword">null</strong> &amp;&amp; !filters.isEmpty())) {
<a name="284" href="#284">284</a>             <em class="jxr_comment">//either the urls section or the filters section was defined.  Go ahead and create the resolver</em>
<a name="285" href="#285">285</a>             <em class="jxr_comment">//and set it:</em>
<a name="286" href="#286">286</a>             <a href="../../../../../org/apache/shiro/web/config/IniFilterChainResolverFactory.html">IniFilterChainResolverFactory</a> filterChainResolverFactory = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/shiro/web/config/IniFilterChainResolverFactory.html">IniFilterChainResolverFactory</a>(ini, defaults);
<a name="287" href="#287">287</a>             filterChainResolverFactory.setFilterConfig(getFilterConfig());
<a name="288" href="#288">288</a>             <a href="../../../../../org/apache/shiro/web/filter/mgt/FilterChainResolver.html">FilterChainResolver</a> resolver = filterChainResolverFactory.getInstance();
<a name="289" href="#289">289</a>             setFilterChainResolver(resolver);
<a name="290" href="#290">290</a>         }
<a name="291" href="#291">291</a>     }
<a name="292" href="#292">292</a> 
<a name="293" href="#293">293</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> convertConfigToIni(String config) {
<a name="294" href="#294">294</a>         <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> ini = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a>();
<a name="295" href="#295">295</a>         ini.load(config);
<a name="296" href="#296">296</a>         <strong class="jxr_keyword">return</strong> ini;
<a name="297" href="#297">297</a>     }
<a name="298" href="#298">298</a> 
<a name="299" href="#299">299</a>     <em class="jxr_javadoccomment">/**</em>
<a name="300" href="#300">300</a> <em class="jxr_javadoccomment">     * Returns the INI instance reflecting the specified servlet context resource path or {@code null} if no</em>
<a name="301" href="#301">301</a> <em class="jxr_javadoccomment">     * resource was found.</em>
<a name="302" href="#302">302</a> <em class="jxr_javadoccomment">     *</em>
<a name="303" href="#303">303</a> <em class="jxr_javadoccomment">     * @param servletContextPath the servlet context resource path of the INI file to load</em>
<a name="304" href="#304">304</a> <em class="jxr_javadoccomment">     * @return the INI instance reflecting the specified servlet context resource path or {@code null} if no</em>
<a name="305" href="#305">305</a> <em class="jxr_javadoccomment">     *         resource was found.</em>
<a name="306" href="#306">306</a> <em class="jxr_javadoccomment">     * @since 1.2</em>
<a name="307" href="#307">307</a> <em class="jxr_javadoccomment">     */</em>
<a name="308" href="#308">308</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> getServletContextIniResource(String servletContextPath) {
<a name="309" href="#309">309</a>         String path = WebUtils.normalize(servletContextPath);
<a name="310" href="#310">310</a>         <strong class="jxr_keyword">if</strong> (getServletContext() != <strong class="jxr_keyword">null</strong>) {
<a name="311" href="#311">311</a>             InputStream is = getServletContext().getResourceAsStream(path);
<a name="312" href="#312">312</a>             <strong class="jxr_keyword">if</strong> (is != <strong class="jxr_keyword">null</strong>) {
<a name="313" href="#313">313</a>                 <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> ini = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a>();
<a name="314" href="#314">314</a>                 ini.load(is);
<a name="315" href="#315">315</a>                 <strong class="jxr_keyword">if</strong> (CollectionUtils.isEmpty(ini)) {
<a name="316" href="#316">316</a>                     log.warn(<span class="jxr_string">"ServletContext INI resource '"</span> + servletContextPath + <span class="jxr_string">"' exists, but it did not contain "</span> +
<a name="317" href="#317">317</a>                             <span class="jxr_string">"any data."</span>);
<a name="318" href="#318">318</a>                 }
<a name="319" href="#319">319</a>                 <strong class="jxr_keyword">return</strong> ini;
<a name="320" href="#320">320</a>             }
<a name="321" href="#321">321</a>         }
<a name="322" href="#322">322</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="323" href="#323">323</a>     }
<a name="324" href="#324">324</a> 
<a name="325" href="#325">325</a>     <em class="jxr_javadoccomment">/**</em>
<a name="326" href="#326">326</a> <em class="jxr_javadoccomment">     * Converts the specified file path to an {@link Ini} instance.</em>
<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">     * &lt;p/&gt;</em>
<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">     * If the path does not have a resource prefix as defined by {@link ResourceUtils#hasResourcePrefix(String)}, the</em>
<a name="329" href="#329">329</a> <em class="jxr_javadoccomment">     * path is expected to be resolvable by the {@code ServletContext} via</em>
<a name="330" href="#330">330</a> <em class="jxr_javadoccomment">     * {@link javax.servlet.ServletContext#getResourceAsStream(String)}.</em>
<a name="331" href="#331">331</a> <em class="jxr_javadoccomment">     *</em>
<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">     * @param path the path of the INI resource to load into an INI instance.</em>
<a name="333" href="#333">333</a> <em class="jxr_javadoccomment">     * @return an INI instance populated based on the given INI resource path.</em>
<a name="334" href="#334">334</a> <em class="jxr_javadoccomment">     */</em>
<a name="335" href="#335">335</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> convertPathToIni(String path) {
<a name="336" href="#336">336</a> 
<a name="337" href="#337">337</a>         <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a> ini = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/shiro/config/Ini.html">Ini</a>();
<a name="338" href="#338">338</a> 
<a name="339" href="#339">339</a>         <em class="jxr_comment">//SHIRO-178: Check for servlet context resource and not</em>
<a name="340" href="#340">340</a>         <em class="jxr_comment">//only resource paths:</em>
<a name="341" href="#341">341</a>         <strong class="jxr_keyword">if</strong> (!ResourceUtils.hasResourcePrefix(path)) {
<a name="342" href="#342">342</a>             ini = getServletContextIniResource(path);
<a name="343" href="#343">343</a>             <strong class="jxr_keyword">if</strong> (ini == <strong class="jxr_keyword">null</strong>) {
<a name="344" href="#344">344</a>                 String msg = <span class="jxr_string">"There is no servlet context resource corresponding to configPath '"</span> + path + <span class="jxr_string">"'  If "</span> +
<a name="345" href="#345">345</a>                         <span class="jxr_string">"the resource is located elsewhere (not immediately resolveable in the servlet context), "</span> +
<a name="346" href="#346">346</a>                         <span class="jxr_string">"specify an appropriate classpath:, url:, or file: resource prefix accordingly."</span>;
<a name="347" href="#347">347</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/shiro/config/ConfigurationException.html">ConfigurationException</a>(msg);
<a name="348" href="#348">348</a>             }
<a name="349" href="#349">349</a>         } <strong class="jxr_keyword">else</strong> {
<a name="350" href="#350">350</a>             <em class="jxr_comment">//normal resource path - load as usual:</em>
<a name="351" href="#351">351</a>             ini.loadFromPath(path);
<a name="352" href="#352">352</a>         }
<a name="353" href="#353">353</a> 
<a name="354" href="#354">354</a>         <strong class="jxr_keyword">return</strong> ini;
<a name="355" href="#355">355</a>     }
<a name="356" href="#356">356</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

