<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_21) on Thu May 30 14:51:27 PDT 2013 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>AbstractShiroFilter (Apache Shiro 1.2.1 API)</title>
<meta name="date" content="2013-05-30">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="AbstractShiroFilter (Apache Shiro 1.2.1 API)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>

<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractShiroFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html" title="class in org.apache.shiro.web.servlet"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/shiro/web/servlet/AdviceFilter.html" title="class in org.apache.shiro.web.servlet"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/shiro/web/servlet/AbstractShiroFilter.html" target="_top">Frames</a></li>
<li><a href="AbstractShiroFilter.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.shiro.web.servlet.OncePerRequestFilter">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.shiro.web.servlet</div>
<h2 title="Class AbstractShiroFilter" class="title">Class AbstractShiroFilter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html" title="class in org.apache.shiro.web.servlet">org.apache.shiro.web.servlet.ServletContextSupport</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html" title="class in org.apache.shiro.web.servlet">org.apache.shiro.web.servlet.AbstractFilter</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/shiro/web/servlet/NameableFilter.html" title="class in org.apache.shiro.web.servlet">org.apache.shiro.web.servlet.NameableFilter</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">org.apache.shiro.web.servlet.OncePerRequestFilter</a></li>
<li>
<ul class="inheritance">
<li>org.apache.shiro.web.servlet.AbstractShiroFilter</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet">Filter</a>, <a href="../../../../../org/apache/shiro/util/Nameable.html" title="interface in org.apache.shiro.util">Nameable</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../org/apache/shiro/guice/web/GuiceShiroFilter.html" title="class in org.apache.shiro.guice.web">GuiceShiroFilter</a>, <a href="../../../../../org/apache/shiro/web/servlet/IniShiroFilter.html" title="class in org.apache.shiro.web.servlet">IniShiroFilter</a>, <a href="../../../../../org/apache/shiro/web/servlet/ShiroFilter.html" title="class in org.apache.shiro.web.servlet">ShiroFilter</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.74">AbstractShiroFilter</a>
extends <a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">OncePerRequestFilter</a></pre>
<div class="block">Abstract base class that provides all standard Shiro request filtering behavior and expects
 subclasses to implement configuration-specific logic (INI, XML, .properties, etc).
 <p/>
 Subclasses should perform configuration and construction logic in an overridden
 <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#init()"><code>init()</code></a> method implementation.  That implementation should make available any constructed
 <code>SecurityManager</code> and <code>FilterChainResolver</code> by calling
 <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#setSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager)"><code>setSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager)</code></a> and
 <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#setFilterChainResolver(org.apache.shiro.web.filter.mgt.FilterChainResolver)"><code>setFilterChainResolver(org.apache.shiro.web.filter.mgt.FilterChainResolver)</code></a> methods respectively.
 <h3>Static SecurityManager</h3>
 By default the <code>SecurityManager</code> instance enabled by this filter <em>will not</em> be enabled in static
 memory via the <code>SecurityUtils.</code><a href="../../../../../org/apache/shiro/SecurityUtils.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)"><code>setSecurityManager</code></a>
 method.  Instead, it is expected that Subject instances will always be constructed on a request-processing thread
 via instances of this Filter class.
 <p/>
 However, if you need to construct <code>Subject</code> instances on separate (non request-processing) threads, it might
 be easiest to enable the SecurityManager to be available in static memory via the
 <a href="../../../../../org/apache/shiro/SecurityUtils.html#getSecurityManager()"><code>SecurityUtils.getSecurityManager()</code></a> method.  You can do this by additionally specifying an <code>init-param</code>:
 <pre>
 &lt;filter&gt;
     ... other config here ...
     &lt;init-param&gt;
         &lt;param-name&gt;staticSecurityManagerEnabled&lt;/param-name&gt;
         &lt;param-value&gt;true&lt;/param-value&gt;
     &lt;/init-param&gt;
 &lt;/filter&gt;
 </pre>
 See the Shiro <a href="http://shiro.apache.org/subject.html">Subject documentation</a> for more information as to
 if you would do this, particularly the sections on the <code>Subject.Builder</code> and Thread Association.</div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>1.0</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="http://shiro.apache.org/subject.html">Subject documentation</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.shiro.web.servlet.OncePerRequestFilter">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.shiro.web.servlet.<a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">OncePerRequestFilter</a></h3>
<code><a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#ALREADY_FILTERED_SUFFIX">ALREADY_FILTERED_SUFFIX</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.shiro.web.servlet.AbstractFilter">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.shiro.web.servlet.<a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html" title="class in org.apache.shiro.web.servlet">AbstractFilter</a></h3>
<code><a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#filterConfig">filterConfig</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#AbstractShiroFilter()">AbstractShiroFilter</a></strong>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/shiro/web/mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#createDefaultSecurityManager()">createDefaultSecurityManager</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/apache/shiro/web/subject/WebSubject.html" title="interface in org.apache.shiro.web.subject">WebSubject</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#createSubject(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">createSubject</a></strong>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                          <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response)</code>
<div class="block">Creates a <a href="../../../../../org/apache/shiro/web/subject/WebSubject.html" title="interface in org.apache.shiro.web.subject"><code>WebSubject</code></a> instance to associate with the incoming request/response pair which will be used
 throughout the request/response execution.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#doFilterInternal(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">doFilterInternal</a></strong>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;servletRequest,
                                <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;servletResponse,
                                <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a>&nbsp;chain)</code>
<div class="block"><code>doFilterInternal</code> implementation that sets-up, executes, and cleans-up a Shiro-filtered request.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#executeChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">executeChain</a></strong>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                        <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response,
                        <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a>&nbsp;origChain)</code>
<div class="block">Executes a <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet"><code>FilterChain</code></a> for the given request.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getExecutionChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">getExecutionChain</a></strong>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                                  <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response,
                                  <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a>&nbsp;origChain)</code>
<div class="block">Returns the <code>FilterChain</code> to execute for the given request.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/shiro/web/filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainResolver</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getFilterChainResolver()">getFilterChainResolver</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/shiro/web/mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getSecurityManager()">getSecurityManager</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#init()">init</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#isHttpSessions()">isHttpSessions</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#isStaticSecurityManagerEnabled()">isStaticSecurityManagerEnabled</a></strong>()</code>
<div class="block">Returns <code>true</code> if the constructed <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getSecurityManager()"><code>securityManager</code></a> reference should be bound
 to static memory (via
 <code>SecurityUtils.</code><a href="../../../../../org/apache/shiro/SecurityUtils.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)"><code>setSecurityManager</code></a>),
 <code>false</code> otherwise.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#onFilterConfigSet()">onFilterConfigSet</a></strong>()</code>
<div class="block">Template method to be overridden by subclasses to perform initialization logic at start-up.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#prepareServletRequest(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">prepareServletRequest</a></strong>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                                          <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response,
                                          <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a>&nbsp;chain)</code>
<div class="block">Prepares the <code>ServletRequest</code> instance that will be passed to the <code>FilterChain</code> for request
 processing.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#prepareServletResponse(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">prepareServletResponse</a></strong>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                                            <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response,
                                            <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a>&nbsp;chain)</code>
<div class="block">Prepares the <code>ServletResponse</code> instance that will be passed to the <code>FilterChain</code> for request
 processing.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#setFilterChainResolver(org.apache.shiro.web.filter.mgt.FilterChainResolver)">setFilterChainResolver</a></strong>(<a href="../../../../../org/apache/shiro/web/filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainResolver</a>&nbsp;filterChainResolver)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#setSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager)">setSecurityManager</a></strong>(<a href="../../../../../org/apache/shiro/web/mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a>&nbsp;sm)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#setStaticSecurityManagerEnabled(boolean)">setStaticSecurityManagerEnabled</a></strong>(boolean&nbsp;staticSecurityManagerEnabled)</code>
<div class="block">Sets if the constructed <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getSecurityManager()"><code>securityManager</code></a> reference should be bound
 to static memory (via <code>SecurityUtils.</code><a href="../../../../../org/apache/shiro/SecurityUtils.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)"><code>setSecurityManager</code></a>).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#updateSessionLastAccessTime(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">updateSessionLastAccessTime</a></strong>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                                                      <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response)</code>
<div class="block">Updates any 'native'  Session's last access time that might exist to the timestamp when this method is called.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#wrapServletRequest(javax.servlet.http.HttpServletRequest)">wrapServletRequest</a></strong>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletRequest</a>&nbsp;orig)</code>
<div class="block">Wraps the original HttpServletRequest in a <a href="../../../../../org/apache/shiro/web/servlet/ShiroHttpServletRequest.html" title="class in org.apache.shiro.web.servlet"><code>ShiroHttpServletRequest</code></a>, which is required for supporting
 Servlet Specification behavior backed by a <a href="../../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#wrapServletResponse(javax.servlet.http.HttpServletResponse, org.apache.shiro.web.servlet.ShiroHttpServletRequest)">wrapServletResponse</a></strong>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletResponse.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletResponse</a>&nbsp;orig,
                                      <a href="../../../../../org/apache/shiro/web/servlet/ShiroHttpServletRequest.html" title="class in org.apache.shiro.web.servlet">ShiroHttpServletRequest</a>&nbsp;request)</code>
<div class="block">Returns a new <a href="../../../../../org/apache/shiro/web/servlet/ShiroHttpServletResponse.html" title="class in org.apache.shiro.web.servlet"><code>ShiroHttpServletResponse</code></a> instance, wrapping the <code>orig</code> argument, in order to provide
 correct URL rewriting behavior required by the Servlet Specification when using Shiro-based sessions (and not
 Servlet Container HTTP-based sessions).</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.shiro.web.servlet.OncePerRequestFilter">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.web.servlet.<a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">OncePerRequestFilter</a></h3>
<code><a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">doFilter</a>, <a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#getAlreadyFilteredAttributeName()">getAlreadyFilteredAttributeName</a>, <a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#isEnabled()">isEnabled</a>, <a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#isEnabled(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">isEnabled</a>, <a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#setEnabled(boolean)">setEnabled</a>, <a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#shouldNotFilter(javax.servlet.ServletRequest)">shouldNotFilter</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.shiro.web.servlet.NameableFilter">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.web.servlet.<a href="../../../../../org/apache/shiro/web/servlet/NameableFilter.html" title="class in org.apache.shiro.web.servlet">NameableFilter</a></h3>
<code><a href="../../../../../org/apache/shiro/web/servlet/NameableFilter.html#getName()">getName</a>, <a href="../../../../../org/apache/shiro/web/servlet/NameableFilter.html#setName(java.lang.String)">setName</a>, <a href="../../../../../org/apache/shiro/web/servlet/NameableFilter.html#toStringBuilder()">toStringBuilder</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.shiro.web.servlet.AbstractFilter">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.web.servlet.<a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html" title="class in org.apache.shiro.web.servlet">AbstractFilter</a></h3>
<code><a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#destroy()">destroy</a>, <a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#getFilterConfig()">getFilterConfig</a>, <a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#getInitParam(java.lang.String)">getInitParam</a>, <a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#init(javax.servlet.FilterConfig)">init</a>, <a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#setFilterConfig(javax.servlet.FilterConfig)">setFilterConfig</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.shiro.web.servlet.ServletContextSupport">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.shiro.web.servlet.<a href="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html" title="class in org.apache.shiro.web.servlet">ServletContextSupport</a></h3>
<code><a href="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#getContextAttribute(java.lang.String)">getContextAttribute</a>, <a href="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#getContextInitParam(java.lang.String)">getContextInitParam</a>, <a href="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#getServletContext()">getServletContext</a>, <a href="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#removeContextAttribute(java.lang.String)">removeContextAttribute</a>, <a href="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#setContextAttribute(java.lang.String, java.lang.Object)">setContextAttribute</a>, <a href="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#setServletContext(javax.servlet.ServletContext)">setServletContext</a>, <a href="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#toString()">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractShiroFilter()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractShiroFilter</h4>
<pre>protected&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.93">AbstractShiroFilter</a>()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getSecurityManager()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSecurityManager</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/shiro/web/mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.97">getSecurityManager</a>()</pre>
</li>
</ul>
<a name="setSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSecurityManager</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.101">setSecurityManager</a>(<a href="../../../../../org/apache/shiro/web/mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a>&nbsp;sm)</pre>
</li>
</ul>
<a name="getFilterChainResolver()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFilterChainResolver</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/shiro/web/filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainResolver</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.105">getFilterChainResolver</a>()</pre>
</li>
</ul>
<a name="setFilterChainResolver(org.apache.shiro.web.filter.mgt.FilterChainResolver)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFilterChainResolver</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.109">setFilterChainResolver</a>(<a href="../../../../../org/apache/shiro/web/filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainResolver</a>&nbsp;filterChainResolver)</pre>
</li>
</ul>
<a name="isStaticSecurityManagerEnabled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isStaticSecurityManagerEnabled</h4>
<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.129">isStaticSecurityManagerEnabled</a>()</pre>
<div class="block">Returns <code>true</code> if the constructed <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getSecurityManager()"><code>securityManager</code></a> reference should be bound
 to static memory (via
 <code>SecurityUtils.</code><a href="../../../../../org/apache/shiro/SecurityUtils.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)"><code>setSecurityManager</code></a>),
 <code>false</code> otherwise.
 <p/>
 The default value is <code>false</code>.
 <p/></div>
<dl><dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the constructed <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getSecurityManager()"><code>securityManager</code></a> reference should be bound
         to static memory (via <code>SecurityUtils.</code><a href="../../../../../org/apache/shiro/SecurityUtils.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)"><code>setSecurityManager</code></a>),
         <code>false</code> otherwise.</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="https://issues.apache.org/jira/browse/SHIRO-287">SHIRO-287</a></dd></dl>
</li>
</ul>
<a name="setStaticSecurityManagerEnabled(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setStaticSecurityManagerEnabled</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.145">setStaticSecurityManagerEnabled</a>(boolean&nbsp;staticSecurityManagerEnabled)</pre>
<div class="block">Sets if the constructed <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getSecurityManager()"><code>securityManager</code></a> reference should be bound
 to static memory (via <code>SecurityUtils.</code><a href="../../../../../org/apache/shiro/SecurityUtils.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)"><code>setSecurityManager</code></a>).
 <p/>
 The default value is <code>false</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>staticSecurityManagerEnabled</code> - if the constructed <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getSecurityManager()"><code>securityManager</code></a> reference
                                       should be bound to static memory (via
                                       <code>SecurityUtils.</code><a href="../../../../../org/apache/shiro/SecurityUtils.html#setSecurityManager(org.apache.shiro.mgt.SecurityManager)"><code>setSecurityManager</code></a>).</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="https://issues.apache.org/jira/browse/SHIRO-287">SHIRO-287</a></dd></dl>
</li>
</ul>
<a name="onFilterConfigSet()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onFilterConfigSet</h4>
<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.149">onFilterConfigSet</a>()
                                throws <a href="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#onFilterConfigSet()">AbstractFilter</a></code></strong></div>
<div class="block">Template method to be overridden by subclasses to perform initialization logic at start-up.  The
 <code>ServletContext</code> and <code>FilterConfig</code> will be accessible
 (and non-<code>null</code>) at the time this method is invoked via the
 <a href="../../../../../org/apache/shiro/web/servlet/ServletContextSupport.html#getServletContext()"><code>getServletContext()</code></a> and <a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#getFilterConfig()"><code>getFilterConfig()</code></a>
 methods respectively.
 <p/>
 <code>init-param</code> values may be conveniently obtained via the <a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#getInitParam(java.lang.String)"><code>AbstractFilter.getInitParam(String)</code></a> method.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html#onFilterConfigSet()">onFilterConfigSet</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html" title="class in org.apache.shiro.web.servlet">AbstractFilter</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code> - if the subclass has an error upon initialization.</dd></dl>
</li>
</ul>
<a name="init()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.177">init</a>()
          throws <a href="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://java.sun.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
</li>
</ul>
<a name="createDefaultSecurityManager()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDefaultSecurityManager</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/shiro/web/mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.194">createDefaultSecurityManager</a>()</pre>
</li>
</ul>
<a name="isHttpSessions()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isHttpSessions</h4>
<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.198">isHttpSessions</a>()</pre>
</li>
</ul>
<a name="wrapServletRequest(javax.servlet.http.HttpServletRequest)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrapServletRequest</h4>
<pre>protected&nbsp;<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.210">wrapServletRequest</a>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletRequest</a>&nbsp;orig)</pre>
<div class="block">Wraps the original HttpServletRequest in a <a href="../../../../../org/apache/shiro/web/servlet/ShiroHttpServletRequest.html" title="class in org.apache.shiro.web.servlet"><code>ShiroHttpServletRequest</code></a>, which is required for supporting
 Servlet Specification behavior backed by a <a href="../../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>orig</code> - the original Servlet Container-provided incoming <code>HttpServletRequest</code> instance.</dd>
<dt><span class="strong">Returns:</span></dt><dd><a href="../../../../../org/apache/shiro/web/servlet/ShiroHttpServletRequest.html" title="class in org.apache.shiro.web.servlet"><code>ShiroHttpServletRequest</code></a> instance wrapping the original.</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0</dd></dl>
</li>
</ul>
<a name="prepareServletRequest(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareServletRequest</h4>
<pre>protected&nbsp;<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.229">prepareServletRequest</a>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                                   <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response,
                                   <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a>&nbsp;chain)</pre>
<div class="block">Prepares the <code>ServletRequest</code> instance that will be passed to the <code>FilterChain</code> for request
 processing.
 <p/>
 If the <code>ServletRequest</code> is an instance of <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http"><code>HttpServletRequest</code></a>, the value returned from this method
 is obtained by calling <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#wrapServletRequest(javax.servlet.http.HttpServletRequest)"><code>wrapServletRequest(javax.servlet.http.HttpServletRequest)</code></a> to allow Shiro-specific
 HTTP behavior, otherwise the original <code>ServletRequest</code> argument is returned.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>request</code> - the incoming ServletRequest</dd><dd><code>response</code> - the outgoing ServletResponse</dd><dd><code>chain</code> - the Servlet Container provided <code>FilterChain</code> that will receive the returned request.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the <code>ServletRequest</code> instance that will be passed to the <code>FilterChain</code> for request processing.</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0</dd></dl>
</li>
</ul>
<a name="wrapServletResponse(javax.servlet.http.HttpServletResponse, org.apache.shiro.web.servlet.ShiroHttpServletRequest)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>wrapServletResponse</h4>
<pre>protected&nbsp;<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.248">wrapServletResponse</a>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/http/HttpServletResponse.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletResponse</a>&nbsp;orig,
                                  <a href="../../../../../org/apache/shiro/web/servlet/ShiroHttpServletRequest.html" title="class in org.apache.shiro.web.servlet">ShiroHttpServletRequest</a>&nbsp;request)</pre>
<div class="block">Returns a new <a href="../../../../../org/apache/shiro/web/servlet/ShiroHttpServletResponse.html" title="class in org.apache.shiro.web.servlet"><code>ShiroHttpServletResponse</code></a> instance, wrapping the <code>orig</code> argument, in order to provide
 correct URL rewriting behavior required by the Servlet Specification when using Shiro-based sessions (and not
 Servlet Container HTTP-based sessions).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>orig</code> - the original <code>HttpServletResponse</code> instance provided by the Servlet Container.</dd><dd><code>request</code> - the <code>ShiroHttpServletRequest</code> instance wrapping the original request.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the wrapped ServletResponse instance to use during <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet"><code>FilterChain</code></a> execution.</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0</dd></dl>
</li>
</ul>
<a name="prepareServletResponse(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareServletResponse</h4>
<pre>protected&nbsp;<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.271">prepareServletResponse</a>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                                     <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response,
                                     <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a>&nbsp;chain)</pre>
<div class="block">Prepares the <code>ServletResponse</code> instance that will be passed to the <code>FilterChain</code> for request
 processing.
 <p/>
 This implementation delegates to <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#wrapServletRequest(javax.servlet.http.HttpServletRequest)"><code>wrapServletRequest(javax.servlet.http.HttpServletRequest)</code></a>
 only if Shiro-based sessions are enabled (that is, !<a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#isHttpSessions()"><code>isHttpSessions()</code></a>) and the request instance is a
 <a href="../../../../../org/apache/shiro/web/servlet/ShiroHttpServletRequest.html" title="class in org.apache.shiro.web.servlet"><code>ShiroHttpServletRequest</code></a>.  This ensures that any URL rewriting that occurs is handled correctly using the
 Shiro-managed Session's sessionId and not a servlet container session ID.
 <p/>
 If HTTP-based sessions are enabled (the default), then this method does nothing and just returns the
 <code>ServletResponse</code> argument as-is, relying on the default Servlet Container URL rewriting logic.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>request</code> - the incoming ServletRequest</dd><dd><code>response</code> - the outgoing ServletResponse</dd><dd><code>chain</code> - the Servlet Container provided <code>FilterChain</code> that will receive the returned request.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the <code>ServletResponse</code> instance that will be passed to the <code>FilterChain</code> during request processing.</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0</dd></dl>
</li>
</ul>
<a name="createSubject(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createSubject</h4>
<pre>protected&nbsp;<a href="../../../../../org/apache/shiro/web/subject/WebSubject.html" title="interface in org.apache.shiro.web.subject">WebSubject</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.291">createSubject</a>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                       <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response)</pre>
<div class="block">Creates a <a href="../../../../../org/apache/shiro/web/subject/WebSubject.html" title="interface in org.apache.shiro.web.subject"><code>WebSubject</code></a> instance to associate with the incoming request/response pair which will be used
 throughout the request/response execution.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>request</code> - the incoming <code>ServletRequest</code></dd><dd><code>response</code> - the outgoing <code>ServletResponse</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the <code>WebSubject</code> instance to associate with the request/response execution</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0</dd></dl>
</li>
</ul>
<a name="updateSessionLastAccessTime(javax.servlet.ServletRequest, javax.servlet.ServletResponse)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateSessionLastAccessTime</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.307">updateSessionLastAccessTime</a>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                               <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response)</pre>
<div class="block">Updates any 'native'  Session's last access time that might exist to the timestamp when this method is called.
 If native sessions are not enabled (that is, standard Servlet container sessions are being used) or there is no
 session (<code>subject.getSession(false) == null</code>), this method does nothing.
 <p/>This method implementation merely calls
 <code>Session.<a href="../../../../../org/apache/shiro/session/Session.html#touch()"><code>touch</code></a>()</code> on the session.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>request</code> - incoming request - ignored, but available to subclasses that might wish to override this method</dd><dd><code>response</code> - outgoing response - ignored, but available to subclasses that might wish to override this method</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0</dd></dl>
</li>
</ul>
<a name="doFilterInternal(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doFilterInternal</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.350">doFilterInternal</a>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;servletRequest,
                    <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;servletResponse,
                    <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a>&nbsp;chain)
                         throws <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletException.html?is-external=true" title="class or interface in javax.servlet">ServletException</a>,
                                <a href="http://java.sun.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><code>doFilterInternal</code> implementation that sets-up, executes, and cleans-up a Shiro-filtered request.  It
 performs the following ordered operations:
 <ol>
 <li><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#prepareServletRequest(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)"><code>Prepares</code></a>
 the incoming <code>ServletRequest</code> for use during Shiro's processing</li>
 <li><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#prepareServletResponse(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)"><code>Prepares</code></a>
 the outgoing <code>ServletResponse</code> for use during Shiro's processing</li>
 <li> <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#createSubject(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><code>Creates</code></a> a
 <a href="../../../../../org/apache/shiro/subject/Subject.html" title="interface in org.apache.shiro.subject"><code>Subject</code></a> instance based on the specified request/response pair.</li>
 <li>Finally <a href="../../../../../org/apache/shiro/subject/Subject.html#execute(java.lang.Runnable)"><code>executes</code></a> the
 <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#updateSessionLastAccessTime(javax.servlet.ServletRequest, javax.servlet.ServletResponse)"><code>updateSessionLastAccessTime(javax.servlet.ServletRequest, javax.servlet.ServletResponse)</code></a> and
 <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#executeChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)"><code>executeChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)</code></a>
 methods</li>
 </ol>
 <p/>
 The <code>Subject.</code><a href="../../../../../org/apache/shiro/subject/Subject.html#execute(java.lang.Runnable)"><code>execute(Runnable)</code></a> call in step #4 is used as an
 implementation technique to guarantee proper thread binding and restoration is completed successfully.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html#doFilterInternal(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">doFilterInternal</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/shiro/web/servlet/OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">OncePerRequestFilter</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>servletRequest</code> - the incoming <code>ServletRequest</code></dd><dd><code>servletResponse</code> - the outgoing <code>ServletResponse</code></dd><dd><code>chain</code> - the container-provided <code>FilterChain</code> to execute</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://java.sun.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if an IO error occurs</dd>
<dd><code><a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletException.html?is-external=true" title="class or interface in javax.servlet">ServletException</a></code> - if an Throwable other than an IOException</dd></dl>
</li>
</ul>
<a name="getExecutionChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExecutionChain</h4>
<pre>protected&nbsp;<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.406">getExecutionChain</a>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                            <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response,
                            <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a>&nbsp;origChain)</pre>
<div class="block">Returns the <code>FilterChain</code> to execute for the given request.
 <p/>
 The <code>origChain</code> argument is the
 original <code>FilterChain</code> supplied by the Servlet Container, but it may be modified to provide
 more behavior by pre-pending further chains according to the Shiro configuration.
 <p/>
 This implementation returns the chain that will actually be executed by acquiring the chain from a
 <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getFilterChainResolver()"><code>filterChainResolver</code></a>.  The resolver determines exactly which chain to
 execute, typically based on URL configuration.  If no chain is returned from the resolver call
 (returns <code>null</code>), then the <code>origChain</code> will be returned by default.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>request</code> - the incoming ServletRequest</dd><dd><code>response</code> - the outgoing ServletResponse</dd><dd><code>origChain</code> - the original <code>FilterChain</code> provided by the Servlet Container</dd>
<dt><span class="strong">Returns:</span></dt><dd>the <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet"><code>FilterChain</code></a> to execute for the given request</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0</dd></dl>
</li>
</ul>
<a name="executeChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>executeChain</h4>
<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.446">executeChain</a>(<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet">ServletRequest</a>&nbsp;request,
                <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet">ServletResponse</a>&nbsp;response,
                <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet">FilterChain</a>&nbsp;origChain)
                     throws <a href="http://java.sun.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                            <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletException.html?is-external=true" title="class or interface in javax.servlet">ServletException</a></pre>
<div class="block">Executes a <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet"><code>FilterChain</code></a> for the given request.
 <p/>
 This implementation first delegates to
 <code><a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getExecutionChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)"><code>getExecutionChain</code></a></code>
 to allow the application's Shiro configuration to determine exactly how the chain should execute.  The resulting
 value from that call is then executed directly by calling the returned <code>FilterChain</code>'s
 <a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)" title="class or interface in javax.servlet"><code>doFilter</code></a> method.  That is:
 <pre>
 FilterChain chain = <a href="../../../../../org/apache/shiro/web/servlet/AbstractShiroFilter.html#getExecutionChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)"><code>getExecutionChain(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain)</code></a>(request, response, origChain);
 chain.<a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/FilterChain.html?is-external=true#doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse)" title="class or interface in javax.servlet"><code>doFilter</code></a>(request,response);</pre></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>request</code> - the incoming ServletRequest</dd><dd><code>response</code> - the outgoing ServletResponse</dd><dd><code>origChain</code> - the Servlet Container-provided chain that may be wrapped further by an application-configured
                  chain of Filters.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://java.sun.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if the underlying <code>chain.doFilter</code> call results in an IOException</dd>
<dd><code><a href="http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletException.html?is-external=true" title="class or interface in javax.servlet">ServletException</a></code> - if the underlying <code>chain.doFilter</code> call results in a ServletException</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.0</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractShiroFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/shiro/web/servlet/AbstractFilter.html" title="class in org.apache.shiro.web.servlet"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/shiro/web/servlet/AdviceFilter.html" title="class in org.apache.shiro.web.servlet"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/shiro/web/servlet/AbstractShiroFilter.html" target="_top">Frames</a></li>
<li><a href="AbstractShiroFilter.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.shiro.web.servlet.OncePerRequestFilter">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2004-2013 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>

