| <!DOCTYPE HTML> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc --> |
| <title>AbstractShiroFilter (Apache Shiro :: Web 1.10.0 API)</title> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style"> |
| <script type="text/javascript" src="../../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script> |
| <!--[if IE]> |
| <script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script> |
| <![endif]--> |
| <script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script> |
| <script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="AbstractShiroFilter (Apache Shiro :: Web 1.10.0 API)"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10}; |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| var pathtoroot = "../../../../../"; |
| var useModuleDirectories = true; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <header role="banner"> |
| <nav role="navigation"> |
| <div class="fixedNav"><!-- Matomo --> <script> var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ /* We explicitly disable cookie tracking to avoid privacy issues */ _paq.push(['disableCookies']); _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function() { var u="//matomo.privacy.apache.org/"; _paq.push(['setTrackerUrl', u+'matomo.php']); _paq.push(['setSiteId', '2']); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); })(); </script> <!-- End Matomo Code --> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a id="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../index.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" id="allclasses_navbar_top"> |
| <li><a href="../../../../../allclasses.html">All Classes</a></li> |
| </ul> |
| <ul class="navListSearch"> |
| <li><label for="search">SEARCH:</label> |
| <input type="text" id="search" value="search" disabled="disabled"> |
| <input type="reset" id="reset" value="reset" disabled="disabled"> |
| </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> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a id="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| </div> |
| <div class="navPadding"> </div> |
| <script type="text/javascript"><!-- |
| $('.navPadding').css('padding-top', $('.fixedNav').css("height")); |
| //--> |
| </script> |
| </nav> |
| </header> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <main role="main"> |
| <div class="header"> |
| <div class="subTitle"><span class="packageLabelInType">Package</span> <a href="package-summary.html">org.apache.shiro.web.servlet</a></div> |
| <h2 title="Class AbstractShiroFilter" class="title">Class AbstractShiroFilter</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li> |
| <li> |
| <ul class="inheritance"> |
| <li><a href="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="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="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="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><code><a href="https://docs.oracle.com/javaee/5/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">Filter</a></code>, <code>org.apache.shiro.util.Nameable</code></dd> |
| </dl> |
| <dl> |
| <dt>Direct Known Subclasses:</dt> |
| <dd><code><a href="IniShiroFilter.html" title="class in org.apache.shiro.web.servlet">IniShiroFilter</a></code>, <code><a href="ShiroFilter.html" title="class in org.apache.shiro.web.servlet">ShiroFilter</a></code></dd> |
| </dl> |
| <hr> |
| <pre>public abstract class <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.75">AbstractShiroFilter</a> |
| extends <a href="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="#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="#setSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager)"><code>setSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager)</code></a> and |
| <a href="#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><code>setSecurityManager</code> |
| 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 |
| <code>SecurityUtils.getSecurityManager()</code> method. You can do this by additionally specifying an <code>init-param</code>: |
| <pre> |
| <filter> |
| ... other config here ... |
| <init-param> |
| <param-name>staticSecurityManagerEnabled</param-name> |
| <param-value>true</param-value> |
| </init-param> |
| </filter> |
| </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="simpleTagLabel">Since:</span></dt> |
| <dd>1.0</dd> |
| <dt><span class="seeLabel">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 =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="field.summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <ul class="blockList"> |
| <li class="blockList"><a id="fields.inherited.from.class.org.apache.shiro.web.servlet.OncePerRequestFilter"> |
| <!-- --> |
| </a> |
| <h3>Fields inherited from class org.apache.shiro.web.servlet.<a href="OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">OncePerRequestFilter</a></h3> |
| <code><a href="OncePerRequestFilter.html#ALREADY_FILTERED_SUFFIX">ALREADY_FILTERED_SUFFIX</a></code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="fields.inherited.from.class.org.apache.shiro.web.servlet.AbstractFilter"> |
| <!-- --> |
| </a> |
| <h3>Fields inherited from class org.apache.shiro.web.servlet.<a href="AbstractFilter.html" title="class in org.apache.shiro.web.servlet">AbstractFilter</a></h3> |
| <code><a href="AbstractFilter.html#filterConfig">filterConfig</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier</th> |
| <th class="colSecond" scope="col">Constructor</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>protected </code></td> |
| <th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">AbstractShiroFilter</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| </section> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colSecond" scope="col">Method</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code>protected <a href="../mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createDefaultSecurityManager()">createDefaultSecurityManager</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="../subject/WebSubject.html" title="interface in org.apache.shiro.web.subject">WebSubject</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createSubject(javax.servlet.ServletRequest,javax.servlet.ServletResponse)">createSubject</a></span>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> response)</code></th> |
| <td class="colLast"> |
| <div class="block">Creates a <a href="../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 id="i2" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doFilterInternal(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)">doFilterInternal</a></span>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> servletRequest, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> servletResponse, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a> chain)</code></th> |
| <td class="colLast"> |
| <div class="block"><code>doFilterInternal</code> implementation that sets-up, executes, and cleans-up a Shiro-filtered request.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#executeChain(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)">executeChain</a></span>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> response, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a> origChain)</code></th> |
| <td class="colLast"> |
| <div class="block">Executes a <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink"><code>FilterChain</code></a> for the given request.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getExecutionChain(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)">getExecutionChain</a></span>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> response, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a> origChain)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns the <code>FilterChain</code> to execute for the given request.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code><a href="../filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainResolver</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFilterChainResolver()">getFilterChainResolver</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code><a href="../mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSecurityManager()">getSecurityManager</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#init()">init</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>protected boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isHttpSessions()">isHttpSessions</a></span>()</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>boolean</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isStaticSecurityManagerEnabled()">isStaticSecurityManagerEnabled</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Returns <code>true</code> if the constructed <a href="#getSecurityManager()"><code>securityManager</code></a> reference should be bound |
| to static memory (via |
| <code>SecurityUtils.</code><code>setSecurityManager</code>), |
| <code>false</code> otherwise.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#onFilterConfigSet()">onFilterConfigSet</a></span>()</code></th> |
| <td class="colLast"> |
| <div class="block">Template method to be overridden by subclasses to perform initialization logic at start-up.</div> |
| </td> |
| </tr> |
| <tr id="i11" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepareServletRequest(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)">prepareServletRequest</a></span>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> response, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a> chain)</code></th> |
| <td class="colLast"> |
| <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 id="i12" class="altColor"> |
| <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepareServletResponse(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)">prepareServletResponse</a></span>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> response, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a> chain)</code></th> |
| <td class="colLast"> |
| <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 id="i13" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setFilterChainResolver(org.apache.shiro.web.filter.mgt.FilterChainResolver)">setFilterChainResolver</a></span>​(<a href="../filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainResolver</a> filterChainResolver)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i14" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager)">setSecurityManager</a></span>​(<a href="../mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a> sm)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i15" class="rowColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setShiroFilterConfiguration(org.apache.shiro.web.config.ShiroFilterConfiguration)">setShiroFilterConfiguration</a></span>​(<a href="../config/ShiroFilterConfiguration.html" title="class in org.apache.shiro.web.config">ShiroFilterConfiguration</a> config)</code></th> |
| <td class="colLast"> </td> |
| </tr> |
| <tr id="i16" class="altColor"> |
| <td class="colFirst"><code>void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setStaticSecurityManagerEnabled(boolean)">setStaticSecurityManagerEnabled</a></span>​(boolean staticSecurityManagerEnabled)</code></th> |
| <td class="colLast"> |
| <div class="block">Sets if the constructed <a href="#getSecurityManager()"><code>securityManager</code></a> reference should be bound |
| to static memory (via <code>SecurityUtils.</code><code>setSecurityManager</code>).</div> |
| </td> |
| </tr> |
| <tr id="i17" class="rowColor"> |
| <td class="colFirst"><code>protected void</code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateSessionLastAccessTime(javax.servlet.ServletRequest,javax.servlet.ServletResponse)">updateSessionLastAccessTime</a></span>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> response)</code></th> |
| <td class="colLast"> |
| <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 id="i18" class="altColor"> |
| <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#wrapServletRequest(javax.servlet.http.HttpServletRequest)">wrapServletRequest</a></span>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http" class="externalLink">HttpServletRequest</a> orig)</code></th> |
| <td class="colLast"> |
| <div class="block">Wraps the original HttpServletRequest in a <a href="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 <code>Subject</code> instance.</div> |
| </td> |
| </tr> |
| <tr id="i19" class="rowColor"> |
| <td class="colFirst"><code>protected <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a></code></td> |
| <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#wrapServletResponse(javax.servlet.http.HttpServletResponse,org.apache.shiro.web.servlet.ShiroHttpServletRequest)">wrapServletResponse</a></span>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletResponse.html?is-external=true" title="class or interface in javax.servlet.http" class="externalLink">HttpServletResponse</a> orig, |
| <a href="ShiroHttpServletRequest.html" title="class in org.apache.shiro.web.servlet">ShiroHttpServletRequest</a> request)</code></th> |
| <td class="colLast"> |
| <div class="block">Returns a new <a href="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 id="methods.inherited.from.class.org.apache.shiro.web.servlet.OncePerRequestFilter"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class org.apache.shiro.web.servlet.<a href="OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">OncePerRequestFilter</a></h3> |
| <code><a href="OncePerRequestFilter.html#doFilter(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)">doFilter</a>, <a href="OncePerRequestFilter.html#getAlreadyFilteredAttributeName()">getAlreadyFilteredAttributeName</a>, <a href="OncePerRequestFilter.html#isEnabled()">isEnabled</a>, <a href="OncePerRequestFilter.html#isEnabled(javax.servlet.ServletRequest,javax.servlet.ServletResponse)">isEnabled</a>, <a href="OncePerRequestFilter.html#isFilterOncePerRequest()">isFilterOncePerRequest</a>, <a href="OncePerRequestFilter.html#setEnabled(boolean)">setEnabled</a>, <a href="OncePerRequestFilter.html#setFilterOncePerRequest(boolean)">setFilterOncePerRequest</a>, <a href="OncePerRequestFilter.html#shouldNotFilter(javax.servlet.ServletRequest)">shouldNotFilter</a></code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.web.servlet.NameableFilter"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class org.apache.shiro.web.servlet.<a href="NameableFilter.html" title="class in org.apache.shiro.web.servlet">NameableFilter</a></h3> |
| <code><a href="NameableFilter.html#getName()">getName</a>, <a href="NameableFilter.html#setName(java.lang.String)">setName</a>, <a href="NameableFilter.html#toStringBuilder()">toStringBuilder</a></code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.web.servlet.AbstractFilter"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class org.apache.shiro.web.servlet.<a href="AbstractFilter.html" title="class in org.apache.shiro.web.servlet">AbstractFilter</a></h3> |
| <code><a href="AbstractFilter.html#destroy()">destroy</a>, <a href="AbstractFilter.html#getFilterConfig()">getFilterConfig</a>, <a href="AbstractFilter.html#getInitParam(java.lang.String)">getInitParam</a>, <a href="AbstractFilter.html#init(javax.servlet.FilterConfig)">init</a>, <a href="AbstractFilter.html#setFilterConfig(javax.servlet.FilterConfig)">setFilterConfig</a></code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.org.apache.shiro.web.servlet.ServletContextSupport"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class org.apache.shiro.web.servlet.<a href="ServletContextSupport.html" title="class in org.apache.shiro.web.servlet">ServletContextSupport</a></h3> |
| <code><a href="ServletContextSupport.html#getContextAttribute(java.lang.String)">getContextAttribute</a>, <a href="ServletContextSupport.html#getContextInitParam(java.lang.String)">getContextInitParam</a>, <a href="ServletContextSupport.html#getServletContext()">getServletContext</a>, <a href="ServletContextSupport.html#removeContextAttribute(java.lang.String)">removeContextAttribute</a>, <a href="ServletContextSupport.html#setContextAttribute(java.lang.String,java.lang.Object)">setContextAttribute</a>, <a href="ServletContextSupport.html#setServletContext(javax.servlet.ServletContext)">setServletContext</a>, <a href="ServletContextSupport.html#toString()">toString</a></code></li> |
| </ul> |
| <ul class="blockList"> |
| <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3> |
| <code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a id="<init>()"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>AbstractShiroFilter</h4> |
| <pre>protected <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.94">AbstractShiroFilter</a>()</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| <!-- ============ METHOD DETAIL ========== --> |
| <section role="region"> |
| <ul class="blockList"> |
| <li class="blockList"><a id="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a id="getSecurityManager()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getSecurityManager</h4> |
| <pre class="methodSignature">public <a href="../mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a> <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.98">getSecurityManager</a>()</pre> |
| </li> |
| </ul> |
| <a id="setSecurityManager(org.apache.shiro.web.mgt.WebSecurityManager)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setSecurityManager</h4> |
| <pre class="methodSignature">public void <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.102">setSecurityManager</a>​(<a href="../mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a> sm)</pre> |
| </li> |
| </ul> |
| <a id="getFilterChainResolver()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getFilterChainResolver</h4> |
| <pre class="methodSignature">public <a href="../filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainResolver</a> <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.106">getFilterChainResolver</a>()</pre> |
| </li> |
| </ul> |
| <a id="setFilterChainResolver(org.apache.shiro.web.filter.mgt.FilterChainResolver)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setFilterChainResolver</h4> |
| <pre class="methodSignature">public void <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.110">setFilterChainResolver</a>​(<a href="../filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainResolver</a> filterChainResolver)</pre> |
| </li> |
| </ul> |
| <a id="setShiroFilterConfiguration(org.apache.shiro.web.config.ShiroFilterConfiguration)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setShiroFilterConfiguration</h4> |
| <pre class="methodSignature">public void <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.114">setShiroFilterConfiguration</a>​(<a href="../config/ShiroFilterConfiguration.html" title="class in org.apache.shiro.web.config">ShiroFilterConfiguration</a> config)</pre> |
| </li> |
| </ul> |
| <a id="isStaticSecurityManagerEnabled()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isStaticSecurityManagerEnabled</h4> |
| <pre class="methodSignature">public boolean <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.137">isStaticSecurityManagerEnabled</a>()</pre> |
| <div class="block">Returns <code>true</code> if the constructed <a href="#getSecurityManager()"><code>securityManager</code></a> reference should be bound |
| to static memory (via |
| <code>SecurityUtils.</code><code>setSecurityManager</code>), |
| <code>false</code> otherwise. |
| <p/> |
| The default value is <code>false</code>. |
| <p/></div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><code>true</code> if the constructed <a href="#getSecurityManager()"><code>securityManager</code></a> reference should be bound |
| to static memory (via <code>SecurityUtils.</code><code>setSecurityManager</code>), |
| <code>false</code> otherwise.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>1.2</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="https://issues.apache.org/jira/browse/SHIRO-287">SHIRO-287</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="setStaticSecurityManagerEnabled(boolean)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>setStaticSecurityManagerEnabled</h4> |
| <pre class="methodSignature">public void <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.153">setStaticSecurityManagerEnabled</a>​(boolean staticSecurityManagerEnabled)</pre> |
| <div class="block">Sets if the constructed <a href="#getSecurityManager()"><code>securityManager</code></a> reference should be bound |
| to static memory (via <code>SecurityUtils.</code><code>setSecurityManager</code>). |
| <p/> |
| The default value is <code>false</code>.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>staticSecurityManagerEnabled</code> - if the constructed <a href="#getSecurityManager()"><code>securityManager</code></a> reference |
| should be bound to static memory (via |
| <code>SecurityUtils.</code><code>setSecurityManager</code>).</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>1.2</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="https://issues.apache.org/jira/browse/SHIRO-287">SHIRO-287</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="onFilterConfigSet()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>onFilterConfigSet</h4> |
| <pre class="methodSignature">protected final void <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.157">onFilterConfigSet</a>() |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></pre> |
| <div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="AbstractFilter.html#onFilterConfigSet()">AbstractFilter</a></code></span></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="ServletContextSupport.html#getServletContext()"><code>getServletContext()</code></a> and <a href="AbstractFilter.html#getFilterConfig()"><code>getFilterConfig()</code></a> |
| methods respectively. |
| <p/> |
| <code>init-param</code> values may be conveniently obtained via the <a href="AbstractFilter.html#getInitParam(java.lang.String)"><code>AbstractFilter.getInitParam(String)</code></a> method.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> |
| <dd><code><a href="AbstractFilter.html#onFilterConfigSet()">onFilterConfigSet</a></code> in class <code><a href="AbstractFilter.html" title="class in org.apache.shiro.web.servlet">AbstractFilter</a></code></dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></code> - if the subclass has an error upon initialization.</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="init()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>init</h4> |
| <pre class="methodSignature">public void <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.185">init</a>() |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></pre> |
| <dl> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></code></dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="createDefaultSecurityManager()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createDefaultSecurityManager</h4> |
| <pre class="methodSignature">protected <a href="../mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a> <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.202">createDefaultSecurityManager</a>()</pre> |
| </li> |
| </ul> |
| <a id="isHttpSessions()"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>isHttpSessions</h4> |
| <pre class="methodSignature">protected boolean <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.206">isHttpSessions</a>()</pre> |
| </li> |
| </ul> |
| <a id="wrapServletRequest(javax.servlet.http.HttpServletRequest)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>wrapServletRequest</h4> |
| <pre class="methodSignature">protected <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.218">wrapServletRequest</a>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http" class="externalLink">HttpServletRequest</a> orig)</pre> |
| <div class="block">Wraps the original HttpServletRequest in a <a href="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 <code>Subject</code> instance.</div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>orig</code> - the original Servlet Container-provided incoming <code>HttpServletRequest</code> instance.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd><a href="ShiroHttpServletRequest.html" title="class in org.apache.shiro.web.servlet"><code>ShiroHttpServletRequest</code></a> instance wrapping the original.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>1.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="prepareServletRequest(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>prepareServletRequest</h4> |
| <pre class="methodSignature">protected <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.236">prepareServletRequest</a>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> response, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a> 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="https://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http" class="externalLink"><code>HttpServletRequest</code></a>, the value returned from this method |
| is obtained by calling <a href="#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="paramLabel">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="returnLabel">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="simpleTagLabel">Since:</span></dt> |
| <dd>1.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="wrapServletResponse(javax.servlet.http.HttpServletResponse,org.apache.shiro.web.servlet.ShiroHttpServletRequest)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>wrapServletResponse</h4> |
| <pre class="methodSignature">protected <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.256">wrapServletResponse</a>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletResponse.html?is-external=true" title="class or interface in javax.servlet.http" class="externalLink">HttpServletResponse</a> orig, |
| <a href="ShiroHttpServletRequest.html" title="class in org.apache.shiro.web.servlet">ShiroHttpServletRequest</a> request)</pre> |
| <div class="block">Returns a new <a href="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="paramLabel">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="returnLabel">Returns:</span></dt> |
| <dd>the wrapped ServletResponse instance to use during <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink"><code>FilterChain</code></a> execution.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>1.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="prepareServletResponse(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>prepareServletResponse</h4> |
| <pre class="methodSignature">protected <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.278">prepareServletResponse</a>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> response, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a> 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="#wrapServletRequest(javax.servlet.http.HttpServletRequest)"><code>wrapServletRequest(javax.servlet.http.HttpServletRequest)</code></a> |
| only if Shiro-based sessions are enabled (that is, !<a href="#isHttpSessions()"><code>isHttpSessions()</code></a>) and the request instance is a |
| <a href="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="paramLabel">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="returnLabel">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="simpleTagLabel">Since:</span></dt> |
| <dd>1.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="createSubject(javax.servlet.ServletRequest,javax.servlet.ServletResponse)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>createSubject</h4> |
| <pre class="methodSignature">protected <a href="../subject/WebSubject.html" title="interface in org.apache.shiro.web.subject">WebSubject</a> <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.299">createSubject</a>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> response)</pre> |
| <div class="block">Creates a <a href="../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="paramLabel">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="returnLabel">Returns:</span></dt> |
| <dd>the <code>WebSubject</code> instance to associate with the request/response execution</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>1.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="updateSessionLastAccessTime(javax.servlet.ServletRequest,javax.servlet.ServletResponse)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>updateSessionLastAccessTime</h4> |
| <pre class="methodSignature">protected void <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.314">updateSessionLastAccessTime</a>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> 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.<code>touch</code>()</code> on the session.</div> |
| <dl> |
| <dt><span class="paramLabel">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="simpleTagLabel">Since:</span></dt> |
| <dd>1.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="doFilterInternal(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>doFilterInternal</h4> |
| <pre class="methodSignature">protected void <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.358">doFilterInternal</a>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> servletRequest, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> servletResponse, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a> chain) |
| throws <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletException.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletException</a>, |
| <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">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="#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="#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="#createSubject(javax.servlet.ServletRequest,javax.servlet.ServletResponse)"><code>Creates</code></a> a |
| <code>Subject</code> instance based on the specified request/response pair.</li> |
| <li>Finally <code>executes</code> the |
| <a href="#updateSessionLastAccessTime(javax.servlet.ServletRequest,javax.servlet.ServletResponse)"><code>updateSessionLastAccessTime(javax.servlet.ServletRequest, javax.servlet.ServletResponse)</code></a> and |
| <a href="#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><code>execute(Runnable)</code> call in step #4 is used as an |
| implementation technique to guarantee proper thread binding and restoration is completed successfully.</div> |
| <dl> |
| <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> |
| <dd><code><a href="OncePerRequestFilter.html#doFilterInternal(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)">doFilterInternal</a></code> in class <code><a href="OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">OncePerRequestFilter</a></code></dd> |
| <dt><span class="paramLabel">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="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - if an IO error occurs</dd> |
| <dd><code><a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletException.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletException</a></code> - if an Throwable other than an IOException</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="getExecutionChain(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getExecutionChain</h4> |
| <pre class="methodSignature">protected <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a> <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.414">getExecutionChain</a>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> response, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a> 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="#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="paramLabel">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="returnLabel">Returns:</span></dt> |
| <dd>the <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink"><code>FilterChain</code></a> to execute for the given request</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>1.0</dd> |
| </dl> |
| </li> |
| </ul> |
| <a id="executeChain(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>executeChain</h4> |
| <pre class="methodSignature">protected void <a href="../../../../../src-html/org/apache/shiro/web/servlet/AbstractShiroFilter.html#line.455">executeChain</a>​(<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletRequest.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletRequest</a> request, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletResponse.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletResponse</a> response, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">FilterChain</a> origChain) |
| throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a>, |
| <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletException.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletException</a></pre> |
| <div class="block">Executes a <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true" title="class or interface in javax.servlet" class="externalLink"><code>FilterChain</code></a> for the given request. |
| <p/> |
| This implementation first delegates to |
| <code><a href="#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="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true#doFilter(javax.servlet.ServletRequest,javax.servlet.ServletResponse)" title="class or interface in javax.servlet" class="externalLink"><code>doFilter</code></a> method. That is: |
| <pre> |
| FilterChain chain = <a href="#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="https://docs.oracle.com/javaee/5/api/javax/servlet/FilterChain.html?is-external=true#doFilter(javax.servlet.ServletRequest,javax.servlet.ServletResponse)" title="class or interface in javax.servlet" class="externalLink"><code>doFilter</code></a>(request,response);</pre></div> |
| <dl> |
| <dt><span class="paramLabel">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="throwsLabel">Throws:</span></dt> |
| <dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - if the underlying <code>chain.doFilter</code> call results in an IOException</dd> |
| <dd><code><a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletException.html?is-external=true" title="class or interface in javax.servlet" class="externalLink">ServletException</a></code> - if the underlying <code>chain.doFilter</code> call results in a ServletException</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>1.0</dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </main> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <footer role="contentinfo"> |
| <nav role="navigation"> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a id="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a id="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../index.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" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../allclasses.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> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a id="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </nav> |
| <p class="legalCopy"><small>Copyright © 2004–2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </body> |
| </html> |