blob: 3b386a2cc75f28940c09518b9c5a8e4c1bc60d98 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.11) on Thu Oct 21 16:18:35 EDT 2021 -->
<title>All Classes (Apache Shiro :: Web 1.8.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-10-21">
<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="All Classes (Apache Shiro :: Web 1.8.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":2,"i1":2,"i2":2,"i3":2,"i4":2,"i5":2,"i6":2,"i7":2,"i8":2,"i9":2,"i10":2,"i11":1,"i12":4,"i13":2,"i14":4,"i15":2,"i16":2,"i17":2,"i18":2,"i19":2,"i20":2,"i21":2,"i22":2,"i23":2,"i24":2,"i25":1,"i26":1,"i27":2,"i28":2,"i29":2,"i30":2,"i31":2,"i32":2,"i33":2,"i34":2,"i35":2,"i36":2,"i37":2,"i38":2,"i39":2,"i40":2,"i41":2,"i42":1,"i43":2,"i44":1,"i45":2,"i46":2,"i47":2,"i48":2,"i49":1,"i50":2,"i51":2,"i52":2,"i53":2,"i54":2,"i55":2,"i56":2,"i57":2,"i58":1,"i59":2,"i60":2,"i61":2,"i62":2,"i63":2,"i64":2,"i65":2,"i66":2,"i67":2,"i68":2,"i69":2,"i70":2,"i71":2,"i72":2,"i73":2,"i74":2,"i75":2,"i76":1,"i77":2,"i78":1,"i79":1,"i80":2,"i81":1,"i82":1,"i83":2,"i84":1,"i85":2};
var tabs = {65535:["t0","All Classes"],1:["t1","Interface Summary"],2:["t2","Class Summary"],4:["t3","Enum Summary"]};
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">
<!-- ========= 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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-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&nbsp;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>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Classes" class="title">All&nbsp;Classes</h1>
</div>
<div class="allClassesContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary">
<caption><span id="t0" class="activeTableTab"><span>All Classes</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Interface Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Class Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Enum Summary</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/AbstractFilter.html" title="class in org.apache.shiro.web.servlet">AbstractFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Base abstract Filter simplifying Filter initialization and <a href="org/apache/shiro/web/servlet/AbstractFilter.html#getInitParam(java.lang.String)"><code>access</code></a> to init parameters.</div>
</th>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/AbstractShiroFilter.html" title="class in org.apache.shiro.web.servlet">AbstractShiroFilter</a></td>
<th class="colLast" scope="row">
<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).</div>
</th>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/AccessControlFilter.html" title="class in org.apache.shiro.web.filter">AccessControlFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Superclass for any filter that controls access to a resource and may redirect the user to the login page
if they are not authenticated.</div>
</th>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/AdviceFilter.html" title="class in org.apache.shiro.web.servlet">AdviceFilter</a></td>
<th class="colLast" scope="row">
<div class="block">A Servlet Filter that enables AOP-style &quot;around&quot; advice for a ServletRequest via
<a href="org/apache/shiro/web/servlet/AdviceFilter.html#preHandle(javax.servlet.ServletRequest,javax.servlet.ServletResponse)"><code>preHandle</code></a>,
<a href="org/apache/shiro/web/servlet/AdviceFilter.html#postHandle(javax.servlet.ServletRequest,javax.servlet.ServletResponse)"><code>postHandle</code></a>,
and <a href="org/apache/shiro/web/servlet/AdviceFilter.html#afterCompletion(javax.servlet.ServletRequest,javax.servlet.ServletResponse,java.lang.Exception)"><code>afterCompletion</code></a>
hooks.</div>
</th>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authc/AnonymousFilter.html" title="class in org.apache.shiro.web.filter.authc">AnonymousFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Filter that allows access to a path immeidately without performing security checks of any kind.</div>
</th>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/AuthenticatedTag.html" title="class in org.apache.shiro.web.tags">AuthenticatedTag</a></td>
<th class="colLast" scope="row">
<div class="block">JSP tag that renders the tag body only if the current user has executed a <b>successful</b> authentication attempt
<em>during their current session</em>.</div>
</th>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authc/AuthenticatingFilter.html" title="class in org.apache.shiro.web.filter.authc">AuthenticatingFilter</a></td>
<th class="colLast" scope="row">
<div class="block">An <code>AuthenticationFilter</code> that is capable of automatically performing an authentication attempt
based on the incoming request.</div>
</th>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authc/AuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc">AuthenticationFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Base class for all Filters that require the current user to be authenticated.</div>
</th>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authz/AuthorizationFilter.html" title="class in org.apache.shiro.web.filter.authz">AuthorizationFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Superclass for authorization-related filters.</div>
</th>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authc/BasicHttpAuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc">BasicHttpAuthenticationFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Requires the requesting user to be <code>authenticated</code> for the
request to continue, and if they're not, requires the user to login via the HTTP Basic protocol-specific challenge.</div>
</th>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authc/BearerHttpAuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc">BearerHttpAuthenticationFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Requires the requesting user to be <code>authenticated</code> for the
request to continue, and if they're not, requires the user to login via the HTTP Bearer protocol-specific challenge.</div>
</th>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/Cookie.html" title="interface in org.apache.shiro.web.servlet">Cookie</a></td>
<th class="colLast" scope="row">
<div class="block">Interface representing HTTP cookie operations, supporting pojo-style getters and setters for all
attributes which includes <a href="http://www.owasp.org/index.php/HttpOnly">HttpOnly</a> support.</div>
</th>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/Cookie.SameSiteOptions.html" title="enum in org.apache.shiro.web.servlet">Cookie.SameSiteOptions</a></td>
<th class="colLast" scope="row">
<div class="block">The SameSite attribute of the Set-Cookie HTTP response header allows you to declare if your cookie should be restricted to a first-party or same-site context.</div>
</th>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/mgt/CookieRememberMeManager.html" title="class in org.apache.shiro.web.mgt">CookieRememberMeManager</a></td>
<th class="colLast" scope="row">
<div class="block">Remembers a Subject's identity by saving the Subject's <code>principals</code> to a <a href="org/apache/shiro/web/servlet/Cookie.html" title="interface in org.apache.shiro.web.servlet"><code>Cookie</code></a>
for later retrieval.</div>
</th>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/mgt/DefaultFilter.html" title="enum in org.apache.shiro.web.filter.mgt">DefaultFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Enum representing all of the default Shiro Filter instances available to web applications.</div>
</th>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/mgt/DefaultFilterChainManager.html" title="class in org.apache.shiro.web.filter.mgt">DefaultFilterChainManager</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="org/apache/shiro/web/filter/mgt/FilterChainManager.html" title="interface in org.apache.shiro.web.filter.mgt"><code>FilterChainManager</code></a> implementation maintaining a map of <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"><code>Filter</code></a> instances
(key: filter name, value: Filter) as well as a map of <a href="org/apache/shiro/web/filter/mgt/NamedFilterList.html" title="interface in org.apache.shiro.web.filter.mgt"><code>NamedFilterList</code></a>s created from these
<code>Filter</code>s (key: filter chain name, value: NamedFilterList).</div>
</th>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/env/DefaultWebEnvironment.html" title="class in org.apache.shiro.web.env">DefaultWebEnvironment</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="org/apache/shiro/web/env/WebEnvironment.html" title="interface in org.apache.shiro.web.env"><code>WebEnvironment</code></a> implementation based on a backing <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Map</code></a> instance.</div>
</th>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/mgt/DefaultWebSecurityManager.html" title="class in org.apache.shiro.web.mgt">DefaultWebSecurityManager</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="org/apache/shiro/web/mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt"><code>WebSecurityManager</code></a> implementation used in web-based applications or any
application that requires HTTP connectivity (SOAP, http remoting, etc).</div>
</th>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/session/mgt/DefaultWebSessionContext.html" title="class in org.apache.shiro.web.session.mgt">DefaultWebSessionContext</a></td>
<th class="colLast" scope="row">
<div class="block">Default implementation of the <a href="org/apache/shiro/web/session/mgt/WebSessionContext.html" title="interface in org.apache.shiro.web.session.mgt"><code>WebSessionContext</code></a> interface which provides getters and setters that
wrap interaction with the underlying backing context map.</div>
</th>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/session/mgt/DefaultWebSessionManager.html" title="class in org.apache.shiro.web.session.mgt">DefaultWebSessionManager</a></td>
<th class="colLast" scope="row">
<div class="block">Web-application capable <code>SessionManager</code> implementation.</div>
</th>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/mgt/DefaultWebSessionStorageEvaluator.html" title="class in org.apache.shiro.web.mgt">DefaultWebSessionStorageEvaluator</a></td>
<th class="colLast" scope="row">
<div class="block">A web-specific <code>SessionStorageEvaluator</code> that performs the same logic as the parent class
<code>DefaultSessionStorageEvaluator</code> but additionally checks for a request-specific flag that may enable or
disable session access.</div>
</th>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/subject/support/DefaultWebSubjectContext.html" title="class in org.apache.shiro.web.subject.support">DefaultWebSubjectContext</a></td>
<th class="colLast" scope="row">
<div class="block">Default <code>WebSubjectContext</code> implementation that provides for additional storage and retrieval of
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"><code>ServletRequest</code></a> and <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"><code>ServletResponse</code></a>.</div>
</th>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/mgt/DefaultWebSubjectFactory.html" title="class in org.apache.shiro.web.mgt">DefaultWebSubjectFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>SubjectFactory</code> implementation that creates <a href="org/apache/shiro/web/subject/support/WebDelegatingSubject.html" title="class in org.apache.shiro.web.subject.support"><code>WebDelegatingSubject</code></a> instances.</div>
</th>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/env/EnvironmentLoader.html" title="class in org.apache.shiro.web.env">EnvironmentLoader</a></td>
<th class="colLast" scope="row">
<div class="block">An <code>EnvironmentLoader</code> is responsible for loading a web application's Shiro <a href="org/apache/shiro/web/env/WebEnvironment.html" title="interface in org.apache.shiro.web.env"><code>WebEnvironment</code></a>
(which includes the web app's <a href="org/apache/shiro/web/mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt"><code>WebSecurityManager</code></a>) into the
<code>ServletContext</code> at application startup.</div>
</th>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/env/EnvironmentLoaderListener.html" title="class in org.apache.shiro.web.env">EnvironmentLoaderListener</a></td>
<th class="colLast" scope="row">
<div class="block">Bootstrap listener to startup and shutdown the web application's Shiro
<a href="org/apache/shiro/web/env/WebEnvironment.html" title="interface in org.apache.shiro.web.env"><code>WebEnvironment</code></a> at ServletContext startup and shutdown respectively.</div>
</th>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/mgt/FilterChainManager.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainManager</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>FilterChainManager</code> manages the creation and modification of <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"><code>Filter</code></a> chains from an available pool
of <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"><code>Filter</code></a> instances.</div>
</th>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt">FilterChainResolver</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>FilterChainResolver</code> can resolve an appropriate <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 during a
<code>ServletRequest</code>.</div>
</th>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authc/FormAuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc">FormAuthenticationFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Requires the requesting user to be authenticated for the request to continue, and if they are not, forces the user
to login via by redirecting them to the <a href="org/apache/shiro/web/filter/authc/FormAuthenticationFilter.html#setLoginUrl(java.lang.String)"><code>loginUrl</code></a> you configure.</div>
</th>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/GuestTag.html" title="class in org.apache.shiro.web.tags">GuestTag</a></td>
<th class="colLast" scope="row">
<div class="block">JSP tag that renders the tag body if the current user <em>is not</em> known to the system, either because they
haven't logged in yet, or because they have no 'RememberMe' identity.</div>
</th>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/HasAnyRolesTag.html" title="class in org.apache.shiro.web.tags">HasAnyRolesTag</a></td>
<th class="colLast" scope="row">
<div class="block">Displays body content if the current user has any of the roles specified.</div>
</th>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/HasPermissionTag.html" title="class in org.apache.shiro.web.tags">HasPermissionTag</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/HasRoleTag.html" title="class in org.apache.shiro.web.tags">HasRoleTag</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authz/HostFilter.html" title="class in org.apache.shiro.web.filter.authz">HostFilter</a></td>
<th class="colLast" scope="row">
<div class="block">A Filter that can allow or deny access based on the host that sent the request.</div>
</th>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authz/HttpMethodPermissionFilter.html" title="class in org.apache.shiro.web.filter.authz">HttpMethodPermissionFilter</a></td>
<th class="colLast" scope="row">
<div class="block">A filter that translates an HTTP Request's Method (eg GET, POST, etc)
into an corresponding action (verb) and uses that verb to construct a permission that will be checked to determine
access.</div>
</th>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/session/HttpServletSession.html" title="class in org.apache.shiro.web.session">HttpServletSession</a></td>
<th class="colLast" scope="row">
<div class="block"><code>Session</code> implementation that is backed entirely by a standard servlet container
<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpSession.html?is-external=true" title="class or interface in javax.servlet.http" class="externalLink"><code>HttpSession</code></a> instance.</div>
</th>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/config/IniFilterChainResolverFactory.html" title="class in org.apache.shiro.web.config">IniFilterChainResolverFactory</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>Factory</code> that creates <a href="org/apache/shiro/web/filter/mgt/FilterChainResolver.html" title="interface in org.apache.shiro.web.filter.mgt"><code>FilterChainResolver</code></a> instances based on <code>Ini</code> configuration.</div>
</th>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/IniShiroFilter.html" title="class in org.apache.shiro.web.servlet">IniShiroFilter</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">in 1.2 in favor of using the <a href="org/apache/shiro/web/servlet/ShiroFilter.html" title="class in org.apache.shiro.web.servlet"><code>ShiroFilter</code></a></div>
</th>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/env/IniWebEnvironment.html" title="class in org.apache.shiro.web.env">IniWebEnvironment</a></td>
<th class="colLast" scope="row">
<div class="block"><a href="org/apache/shiro/web/env/WebEnvironment.html" title="interface in org.apache.shiro.web.env"><code>WebEnvironment</code></a> implementation configured by an <code>Ini</code> instance or <code>Ini</code> resource locations.</div>
</th>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/InvalidRequestFilter.html" title="class in org.apache.shiro.web.filter">InvalidRequestFilter</a></td>
<th class="colLast" scope="row">
<div class="block">A request filter that blocks malicious requests.</div>
</th>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/LacksPermissionTag.html" title="class in org.apache.shiro.web.tags">LacksPermissionTag</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/LacksRoleTag.html" title="class in org.apache.shiro.web.tags">LacksRoleTag</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authc/LogoutFilter.html" title="class in org.apache.shiro.web.filter.authc">LogoutFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Simple Filter that, upon receiving a request, will immediately log-out the currently executing
<a href="org/apache/shiro/web/filter/authc/LogoutFilter.html#getSubject(javax.servlet.ServletRequest,javax.servlet.ServletResponse)"><code>subject</code></a>
and then redirect them to a configured <a href="org/apache/shiro/web/filter/authc/LogoutFilter.html#getRedirectUrl()"><code>redirectUrl</code></a>.</div>
</th>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/env/MutableWebEnvironment.html" title="interface in org.apache.shiro.web.env">MutableWebEnvironment</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>WebEnvironment</code> that supports 'write' operations operations.</div>
</th>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/NameableFilter.html" title="class in org.apache.shiro.web.servlet">NameableFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Allows a filter to be named via JavaBeans-compatible
<a href="org/apache/shiro/web/servlet/NameableFilter.html#getName()"><code>NameableFilter.getName()</code></a>/<a href="org/apache/shiro/web/servlet/NameableFilter.html#setName(java.lang.String)"><code>NameableFilter.setName(String)</code></a> methods.</div>
</th>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/mgt/NamedFilterList.html" title="interface in org.apache.shiro.web.filter.mgt">NamedFilterList</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>NamedFilterList</code> is a <code>List</code> of <code>Filter</code> instances that is uniquely identified by a
<a href="org/apache/shiro/web/filter/mgt/NamedFilterList.html#getName()"><code>name</code></a>.</div>
</th>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/session/NoSessionCreationFilter.html" title="class in org.apache.shiro.web.filter.session">NoSessionCreationFilter</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>PathMatchingFilter</code> that will disable creating new Sessions during the request.</div>
</th>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/NotAuthenticatedTag.html" title="class in org.apache.shiro.web.tags">NotAuthenticatedTag</a></td>
<th class="colLast" scope="row">
<div class="block">JSP tag that renders the tag body only if the current user has <em>not</em> executed a successful authentication
attempt <em>during their current session</em>.</div>
</th>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/OncePerRequestFilter.html" title="class in org.apache.shiro.web.servlet">OncePerRequestFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Filter base class that guarantees to be just executed once per request,
on any servlet container.</div>
</th>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authc/PassThruAuthenticationFilter.html" title="class in org.apache.shiro.web.filter.authc">PassThruAuthenticationFilter</a></td>
<th class="colLast" scope="row">
<div class="block">An authentication filter that redirects the user to the login page when they are trying to access
a protected resource.</div>
</th>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/PathConfigProcessor.html" title="interface in org.apache.shiro.web.filter">PathConfigProcessor</a></td>
<th class="colLast" scope="row">
<div class="block">A PathConfigProcessor processes configuration entries on a per path (url) basis.</div>
</th>
</tr>
<tr id="i50" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/PathMatchingFilter.html" title="class in org.apache.shiro.web.filter">PathMatchingFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Base class for Filters that will process only specified paths and allow all others to pass through.</div>
</th>
</tr>
<tr id="i51" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/mgt/PathMatchingFilterChainResolver.html" title="class in org.apache.shiro.web.filter.mgt">PathMatchingFilterChainResolver</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>FilterChainResolver</code> that resolves <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>s based on url path
matching, as determined by a configurable <a href="org/apache/shiro/web/filter/mgt/PathMatchingFilterChainResolver.html#setPathMatcher(org.apache.shiro.util.PatternMatcher)"><code>PathMatcher</code></a>.</div>
</th>
</tr>
<tr id="i52" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authz/PermissionsAuthorizationFilter.html" title="class in org.apache.shiro.web.filter.authz">PermissionsAuthorizationFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Filter that allows access if the current user has the permissions specified by the mapped value, or denies access
if the user does not have all of the permissions specified.</div>
</th>
</tr>
<tr id="i53" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/PermissionTag.html" title="class in org.apache.shiro.web.tags">PermissionTag</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr id="i54" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authz/PortFilter.html" title="class in org.apache.shiro.web.filter.authz">PortFilter</a></td>
<th class="colLast" scope="row">
<div class="block">A Filter that requires the request to be on a specific port, and if not, redirects to the same URL on that port.</div>
</th>
</tr>
<tr id="i55" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/PrincipalTag.html" title="class in org.apache.shiro.web.tags">PrincipalTag</a></td>
<th class="colLast" scope="row">
<div class="block">Tag used to print out the String value of a user's default principal,
or a specific principal as specified by the tag's attributes.</div>
</th>
</tr>
<tr id="i56" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/ProxiedFilterChain.html" title="class in org.apache.shiro.web.servlet">ProxiedFilterChain</a></td>
<th class="colLast" scope="row">
<div class="block">A proxied filter chain is 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> instance that proxies an original <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> as well
as a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>List</code></a> of other <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"><code>Filter</code></a>s that might need to execute prior to the final wrapped
original chain.</div>
</th>
</tr>
<tr id="i57" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/util/RedirectView.html" title="class in org.apache.shiro.web.util">RedirectView</a></td>
<th class="colLast" scope="row">
<div class="block">View that redirects to an absolute, context relative, or current request
relative URL, exposing all model attributes as HTTP query parameters.</div>
</th>
</tr>
<tr id="i58" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/util/RequestPairSource.html" title="interface in org.apache.shiro.web.util">RequestPairSource</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>RequestPairSource</code> is a component that can supply 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"><code>ServletRequest</code></a> and
<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"><code>ServletResponse</code></a> pair associated with a currently executing request.</div>
</th>
</tr>
<tr id="i59" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/env/ResourceBasedWebEnvironment.html" title="class in org.apache.shiro.web.env">ResourceBasedWebEnvironment</a></td>
<th class="colLast" scope="row">
<div class="block">Abstract implementation for <code>WebEnvironment</code>s that can be initialized via resource paths (config files).</div>
</th>
</tr>
<tr id="i60" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authz/RolesAuthorizationFilter.html" title="class in org.apache.shiro.web.filter.authz">RolesAuthorizationFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Filter that allows access if the current user has the roles specified by the mapped value, or denies access
if the user does not have all of the roles specified.</div>
</th>
</tr>
<tr id="i61" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/RoleTag.html" title="class in org.apache.shiro.web.tags">RoleTag</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr id="i62" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/util/SavedRequest.html" title="class in org.apache.shiro.web.util">SavedRequest</a></td>
<th class="colLast" scope="row">
<div class="block">Maintains request data for a request that was redirected, so that after authentication
the user can be redirected to the originally requested page.</div>
</th>
</tr>
<tr id="i63" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/SecureTag.html" title="class in org.apache.shiro.web.tags">SecureTag</a></td>
<th class="colLast" scope="row">&nbsp;</th>
</tr>
<tr id="i64" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/session/mgt/ServletContainerSessionManager.html" title="class in org.apache.shiro.web.session.mgt">ServletContainerSessionManager</a></td>
<th class="colLast" scope="row">
<div class="block">SessionManager implementation providing <code>Session</code> implementations that are merely wrappers for the
Servlet container's <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpSession.html?is-external=true" title="class or interface in javax.servlet.http" class="externalLink"><code>HttpSession</code></a>.</div>
</th>
</tr>
<tr id="i65" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/ServletContextSupport.html" title="class in org.apache.shiro.web.servlet">ServletContextSupport</a></td>
<th class="colLast" scope="row">
<div class="block">Base implementation for any components that need to access the web application's <a href="https://docs.oracle.com/javaee/5/api/javax/servlet/ServletContext.html?is-external=true" title="class or interface in javax.servlet" class="externalLink"><code>ServletContext</code></a>.</div>
</th>
</tr>
<tr id="i66" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/ShiroFilter.html" title="class in org.apache.shiro.web.servlet">ShiroFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Primary Shiro Filter for web applications configuring Shiro via Servlet &lt;listener&gt; in web.xml.</div>
</th>
</tr>
<tr id="i67" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/ShiroHttpServletRequest.html" title="class in org.apache.shiro.web.servlet">ShiroHttpServletRequest</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>ShiroHttpServletRequest</code> wraps the Servlet container's original <code>ServletRequest</code> instance, but ensures
that all <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> invocations that require Shiro's support (<a href="org/apache/shiro/web/servlet/ShiroHttpServletRequest.html#getRemoteUser()"><code>getRemoteUser</code></a>,
<a href="org/apache/shiro/web/servlet/ShiroHttpServletRequest.html#getSession(boolean)"><code>getSession</code></a>, etc) can be executed first by Shiro as necessary before allowing the underlying
Servlet container instance's method to be invoked.</div>
</th>
</tr>
<tr id="i68" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/ShiroHttpServletResponse.html" title="class in org.apache.shiro.web.servlet">ShiroHttpServletResponse</a></td>
<th class="colLast" scope="row">
<div class="block">HttpServletResponse implementation to support URL Encoding of Shiro Session IDs.</div>
</th>
</tr>
<tr id="i69" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/ShiroHttpSession.html" title="class in org.apache.shiro.web.servlet">ShiroHttpSession</a></td>
<th class="colLast" scope="row">
<div class="block">Wrapper class that uses a Shiro <code>Session</code> under the hood for all session operations instead of the
Servlet Container's session mechanism.</div>
</th>
</tr>
<tr id="i70" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/servlet/SimpleCookie.html" title="class in org.apache.shiro.web.servlet">SimpleCookie</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="org/apache/shiro/web/servlet/Cookie.html" title="interface in org.apache.shiro.web.servlet"><code>Cookie</code></a> implementation.</div>
</th>
</tr>
<tr id="i71" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/mgt/SimpleNamedFilterList.html" title="class in org.apache.shiro.web.filter.mgt">SimpleNamedFilterList</a></td>
<th class="colLast" scope="row">
<div class="block">Simple <code>NamedFilterList</code> implementation that is supported by a backing <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>List</code></a> instance and a simple
<a href="org/apache/shiro/web/filter/mgt/SimpleNamedFilterList.html#getName()"><code>name</code></a> property.</div>
</th>
</tr>
<tr id="i72" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authz/SslFilter.html" title="class in org.apache.shiro.web.filter.authz">SslFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Filter which requires a request to be over SSL.</div>
</th>
</tr>
<tr id="i73" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/filter/authc/UserFilter.html" title="class in org.apache.shiro.web.filter.authc">UserFilter</a></td>
<th class="colLast" scope="row">
<div class="block">Filter that allows access to resources if the accessor is a known user, which is defined as
having a known principal.</div>
</th>
</tr>
<tr id="i74" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/tags/UserTag.html" title="class in org.apache.shiro.web.tags">UserTag</a></td>
<th class="colLast" scope="row">
<div class="block">JSP tag that renders the tag body if the current user known to the system, either from a successful login attempt
(not necessarily during the current session) or from 'RememberMe' services.</div>
</th>
</tr>
<tr id="i75" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/subject/support/WebDelegatingSubject.html" title="class in org.apache.shiro.web.subject.support">WebDelegatingSubject</a></td>
<th class="colLast" scope="row">
<div class="block">Default <a href="org/apache/shiro/web/subject/WebSubject.html" title="interface in org.apache.shiro.web.subject"><code>WebSubject</code></a> implementation that additional ensures the ability to retain a
servlet request/response pair to be used by internal shiro components as necessary during the request execution.</div>
</th>
</tr>
<tr id="i76" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/env/WebEnvironment.html" title="interface in org.apache.shiro.web.env">WebEnvironment</a></td>
<th class="colLast" scope="row">
<div class="block">A web-specific <code>Environment</code> instance, used in web applications.</div>
</th>
</tr>
<tr id="i77" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/config/WebIniSecurityManagerFactory.html" title="class in org.apache.shiro.web.config">WebIniSecurityManagerFactory</a></td>
<th class="colLast" scope="row">Deprecated.
<div class="deprecationComment">use Shiro's <code>Environment</code> mechanisms instead.</div>
</th>
</tr>
<tr id="i78" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/mgt/WebSecurityManager.html" title="interface in org.apache.shiro.web.mgt">WebSecurityManager</a></td>
<th class="colLast" scope="row">
<div class="block">This interface represents a <code>SecurityManager</code> implementation that can used in web-enabled applications.</div>
</th>
</tr>
<tr id="i79" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/session/mgt/WebSessionContext.html" title="interface in org.apache.shiro.web.session.mgt">WebSessionContext</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>WebSubjectContext</code> is a <code>SessionContext</code> that additionally provides for type-safe
methods to set and retrieve 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"><code>ServletRequest</code></a> and <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"><code>ServletResponse</code></a>, as the request/response pair will
often need to be referenced during construction of web-initiated <code>Session</code> instances.</div>
</th>
</tr>
<tr id="i80" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/session/mgt/WebSessionKey.html" title="class in org.apache.shiro.web.session.mgt">WebSessionKey</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>SessionKey</code> implementation that also retains the
<code>ServletRequest</code> and <code>ServletResponse</code> associated with the web request that is performing the
session lookup.</div>
</th>
</tr>
<tr id="i81" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/session/mgt/WebSessionManager.html" title="interface in org.apache.shiro.web.session.mgt">WebSessionManager</a></td>
<th class="colLast" scope="row">
<div class="block"><code>SessionManager</code> specific to web-enabled applications.</div>
</th>
</tr>
<tr id="i82" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/subject/WebSubject.html" title="interface in org.apache.shiro.web.subject">WebSubject</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>WebSubject</code> represents a Subject instance that was acquired as a result of an incoming
<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"><code>ServletRequest</code></a>.</div>
</th>
</tr>
<tr id="i83" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/subject/WebSubject.Builder.html" title="class in org.apache.shiro.web.subject">WebSubject.Builder</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>WebSubject.Builder</code> performs the same function as a <code>Subject.Builder</code>, but
additionally ensures that the Servlet request/response pair that is triggering the Subject instance's creation
is retained for use by internal Shiro components as necessary.</div>
</th>
</tr>
<tr id="i84" class="altColor">
<td class="colFirst"><a href="org/apache/shiro/web/subject/WebSubjectContext.html" title="interface in org.apache.shiro.web.subject">WebSubjectContext</a></td>
<th class="colLast" scope="row">
<div class="block">A <code>WebSubjectContext</code> is a <code>SubjectContext</code> that additionally provides for type-safe
methods to set and retrieve 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"><code>ServletRequest</code></a> and <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"><code>ServletResponse</code></a>.</div>
</th>
</tr>
<tr id="i85" class="rowColor">
<td class="colFirst"><a href="org/apache/shiro/web/util/WebUtils.html" title="class in org.apache.shiro.web.util">WebUtils</a></td>
<th class="colLast" scope="row">
<div class="block">Simple utility class for operations used across multiple class hierarchies in the web framework code.</div>
</th>
</tr>
</table>
</li>
</ul>
</div>
</main>
<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>Package</li>
<li>Class</li>
<li>Use</li>
<li><a href="overview-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&nbsp;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>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>