<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (1.8.0_201) on Sat May 02 22:24:20 CEST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Class Hierarchy (Apache Shiro :: Support 1.5.3 API)</title>
<meta name="date" content="2020-05-02">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Class Hierarchy (Apache Shiro :: Support 1.5.3 API)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>

<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
<li><a href="overview-tree.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 class="title">Hierarchy For All Packages</h1>
<span class="packageHierarchyLabel">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="org/apache/shiro/aspectj/package-tree.html">org.apache.shiro.aspectj</a>, </li>
<li><a href="org/apache/shiro/cache/ehcache/package-tree.html">org.apache.shiro.cache.ehcache</a>, </li>
<li><a href="org/apache/shiro/cas/package-tree.html">org.apache.shiro.cas</a>, </li>
<li><a href="org/apache/shiro/guice/package-tree.html">org.apache.shiro.guice</a>, </li>
<li><a href="org/apache/shiro/guice/aop/package-tree.html">org.apache.shiro.guice.aop</a>, </li>
<li><a href="org/apache/shiro/guice/web/package-tree.html">org.apache.shiro.guice.web</a>, </li>
<li><a href="org/apache/shiro/hazelcast/cache/package-tree.html">org.apache.shiro.hazelcast.cache</a>, </li>
<li><a href="org/apache/shiro/session/mgt/quartz/package-tree.html">org.apache.shiro.session.mgt.quartz</a>, </li>
<li><a href="org/apache/shiro/spring/package-tree.html">org.apache.shiro.spring</a>, </li>
<li><a href="org/apache/shiro/spring/aop/package-tree.html">org.apache.shiro.spring.aop</a>, </li>
<li><a href="org/apache/shiro/spring/boot/autoconfigure/package-tree.html">org.apache.shiro.spring.boot.autoconfigure</a>, </li>
<li><a href="org/apache/shiro/spring/boot/autoconfigure/exception/package-tree.html">org.apache.shiro.spring.boot.autoconfigure.exception</a>, </li>
<li><a href="org/apache/shiro/spring/config/package-tree.html">org.apache.shiro.spring.config</a>, </li>
<li><a href="org/apache/shiro/spring/config/web/autoconfigure/package-tree.html">org.apache.shiro.spring.config.web.autoconfigure</a>, </li>
<li><a href="org/apache/shiro/spring/remoting/package-tree.html">org.apache.shiro.spring.remoting</a>, </li>
<li><a href="org/apache/shiro/spring/security/interceptor/package-tree.html">org.apache.shiro.spring.security.interceptor</a>, </li>
<li><a href="org/apache/shiro/spring/web/package-tree.html">org.apache.shiro.spring.web</a>, </li>
<li><a href="org/apache/shiro/spring/web/config/package-tree.html">org.apache.shiro.spring.web.config</a>, </li>
<li><a href="org/apache/shiro/web/jaxrs/package-tree.html">org.apache.shiro.web.jaxrs</a></li>
</ul>
</div>
<div class="contentContainer">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Object</span></a>
<ul>
<li type="circle">org.springframework.boot.diagnostics.AbstractFailureAnalyzer&lt;T&gt; (implements org.springframework.boot.diagnostics.FailureAnalyzer)
<ul>
<li type="circle">org.apache.shiro.spring.boot.autoconfigure.<a href="org/apache/shiro/spring/boot/autoconfigure/ShiroNoRealmConfiguredFailureAnalyzer.html" title="class in org.apache.shiro.spring.boot.autoconfigure"><span class="typeNameLink">ShiroNoRealmConfiguredFailureAnalyzer</span></a></li>
</ul>
</li>
<li type="circle">com.google.inject.AbstractModule (implements com.google.inject.Module)
<ul>
<li type="circle">org.apache.shiro.guice.aop.<a href="org/apache/shiro/guice/aop/ShiroAopModule.html" title="class in org.apache.shiro.guice.aop"><span class="typeNameLink">ShiroAopModule</span></a></li>
</ul>
</li>
<li type="circle">org.apache.shiro.spring.config.<a href="org/apache/shiro/spring/config/AbstractShiroAnnotationProcessorConfiguration.html" title="class in org.apache.shiro.spring.config"><span class="typeNameLink">AbstractShiroAnnotationProcessorConfiguration</span></a>
<ul>
<li type="circle">org.apache.shiro.spring.boot.autoconfigure.<a href="org/apache/shiro/spring/boot/autoconfigure/ShiroAnnotationProcessorAutoConfiguration.html" title="class in org.apache.shiro.spring.boot.autoconfigure"><span class="typeNameLink">ShiroAnnotationProcessorAutoConfiguration</span></a></li>
<li type="circle">org.apache.shiro.spring.config.<a href="org/apache/shiro/spring/config/ShiroAnnotationProcessorConfiguration.html" title="class in org.apache.shiro.spring.config"><span class="typeNameLink">ShiroAnnotationProcessorConfiguration</span></a></li>
</ul>
</li>
<li type="circle">org.apache.shiro.spring.config.<a href="org/apache/shiro/spring/config/AbstractShiroBeanConfiguration.html" title="class in org.apache.shiro.spring.config"><span class="typeNameLink">AbstractShiroBeanConfiguration</span></a>
<ul>
<li type="circle">org.apache.shiro.spring.boot.autoconfigure.<a href="org/apache/shiro/spring/boot/autoconfigure/ShiroBeanAutoConfiguration.html" title="class in org.apache.shiro.spring.boot.autoconfigure"><span class="typeNameLink">ShiroBeanAutoConfiguration</span></a></li>
<li type="circle">org.apache.shiro.spring.config.<a href="org/apache/shiro/spring/config/ShiroBeanConfiguration.html" title="class in org.apache.shiro.spring.config"><span class="typeNameLink">ShiroBeanConfiguration</span></a></li>
</ul>
</li>
<li type="circle">org.apache.shiro.spring.config.<a href="org/apache/shiro/spring/config/AbstractShiroConfiguration.html" title="class in org.apache.shiro.spring.config"><span class="typeNameLink">AbstractShiroConfiguration</span></a>
<ul>
<li type="circle">org.apache.shiro.spring.web.config.<a href="org/apache/shiro/spring/web/config/AbstractShiroWebConfiguration.html" title="class in org.apache.shiro.spring.web.config"><span class="typeNameLink">AbstractShiroWebConfiguration</span></a>
<ul>
<li type="circle">org.apache.shiro.spring.config.web.autoconfigure.<a href="org/apache/shiro/spring/config/web/autoconfigure/ShiroWebAutoConfiguration.html" title="class in org.apache.shiro.spring.config.web.autoconfigure"><span class="typeNameLink">ShiroWebAutoConfiguration</span></a></li>
<li type="circle">org.apache.shiro.spring.web.config.<a href="org/apache/shiro/spring/web/config/ShiroWebConfiguration.html" title="class in org.apache.shiro.spring.web.config"><span class="typeNameLink">ShiroWebConfiguration</span></a></li>
</ul>
</li>
<li type="circle">org.apache.shiro.spring.boot.autoconfigure.<a href="org/apache/shiro/spring/boot/autoconfigure/ShiroAutoConfiguration.html" title="class in org.apache.shiro.spring.boot.autoconfigure"><span class="typeNameLink">ShiroAutoConfiguration</span></a></li>
<li type="circle">org.apache.shiro.spring.config.<a href="org/apache/shiro/spring/config/ShiroConfiguration.html" title="class in org.apache.shiro.spring.config"><span class="typeNameLink">ShiroConfiguration</span></a></li>
</ul>
</li>
<li type="circle">org.apache.shiro.spring.web.config.<a href="org/apache/shiro/spring/web/config/AbstractShiroWebFilterConfiguration.html" title="class in org.apache.shiro.spring.web.config"><span class="typeNameLink">AbstractShiroWebFilterConfiguration</span></a>
<ul>
<li type="circle">org.apache.shiro.spring.web.config.<a href="org/apache/shiro/spring/web/config/ShiroWebFilterConfiguration.html" title="class in org.apache.shiro.spring.web.config"><span class="typeNameLink">ShiroWebFilterConfiguration</span></a></li>
<li type="circle">org.apache.shiro.spring.config.web.autoconfigure.<a href="org/apache/shiro/spring/config/web/autoconfigure/ShiroWebFilterConfiguration.html" title="class in org.apache.shiro.spring.config.web.autoconfigure"><span class="typeNameLink">ShiroWebFilterConfiguration</span></a></li>
</ul>
</li>
<li type="circle">org.apache.shiro.web.jaxrs.<a href="org/apache/shiro/web/jaxrs/AnnotationAuthorizationFilter.html" title="class in org.apache.shiro.web.jaxrs"><span class="typeNameLink">AnnotationAuthorizationFilter</span></a> (implements javax.ws.rs.container.ContainerRequestFilter)</li>
<li type="circle">org.apache.shiro.aspectj.<a href="org/apache/shiro/aspectj/BeforeAdviceMethodInvocationAdapter.html" title="class in org.apache.shiro.aspectj"><span class="typeNameLink">BeforeAdviceMethodInvocationAdapter</span></a> (implements org.apache.shiro.aop.MethodInvocation)</li>
<li type="circle">org.apache.shiro.realm.CachingRealm (implements org.apache.shiro.cache.CacheManagerAware, org.apache.shiro.authc.LogoutAware, org.apache.shiro.util.Nameable, org.apache.shiro.realm.Realm)
<ul>
<li type="circle">org.apache.shiro.realm.AuthenticatingRealm (implements org.apache.shiro.util.Initializable)
<ul>
<li type="circle">org.apache.shiro.realm.AuthorizingRealm (implements org.apache.shiro.authz.Authorizer, org.apache.shiro.util.Initializable, org.apache.shiro.authz.permission.PermissionResolverAware, org.apache.shiro.authz.permission.RolePermissionResolverAware)
<ul>
<li type="circle">org.apache.shiro.cas.<a href="org/apache/shiro/cas/CasRealm.html" title="class in org.apache.shiro.cas"><span class="typeNameLink">CasRealm</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li type="circle">org.apache.shiro.cas.<a href="org/apache/shiro/cas/CasToken.html" title="class in org.apache.shiro.cas"><span class="typeNameLink">CasToken</span></a> (implements org.apache.shiro.authc.RememberMeAuthenticationToken)</li>
<li type="circle">org.springframework.remoting.support.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/remoting/support/DefaultRemoteInvocationExecutor.html?is-external=true" title="class or interface in org.springframework.remoting.support"><span class="typeNameLink">DefaultRemoteInvocationExecutor</span></a> (implements org.springframework.remoting.support.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/remoting/support/RemoteInvocationExecutor.html?is-external=true" title="class or interface in org.springframework.remoting.support">RemoteInvocationExecutor</a>)
<ul>
<li type="circle">org.apache.shiro.spring.remoting.<a href="org/apache/shiro/spring/remoting/SecureRemoteInvocationExecutor.html" title="class in org.apache.shiro.spring.remoting"><span class="typeNameLink">SecureRemoteInvocationExecutor</span></a></li>
</ul>
</li>
<li type="circle">org.springframework.remoting.support.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/remoting/support/DefaultRemoteInvocationFactory.html?is-external=true" title="class or interface in org.springframework.remoting.support"><span class="typeNameLink">DefaultRemoteInvocationFactory</span></a> (implements org.springframework.remoting.support.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/remoting/support/RemoteInvocationFactory.html?is-external=true" title="class or interface in org.springframework.remoting.support">RemoteInvocationFactory</a>)
<ul>
<li type="circle">org.apache.shiro.spring.remoting.<a href="org/apache/shiro/spring/remoting/SecureRemoteInvocationFactory.html" title="class in org.apache.shiro.spring.remoting"><span class="typeNameLink">SecureRemoteInvocationFactory</span></a></li>
</ul>
</li>
<li type="circle">org.apache.shiro.spring.web.config.<a href="org/apache/shiro/spring/web/config/DefaultShiroFilterChainDefinition.html" title="class in org.apache.shiro.spring.web.config"><span class="typeNameLink">DefaultShiroFilterChainDefinition</span></a> (implements org.apache.shiro.spring.web.config.<a href="org/apache/shiro/spring/web/config/ShiroFilterChainDefinition.html" title="interface in org.apache.shiro.spring.web.config">ShiroFilterChainDefinition</a>)</li>
<li type="circle">org.apache.shiro.mgt.DefaultSubjectFactory (implements org.apache.shiro.mgt.SubjectFactory)
<ul>
<li type="circle">org.apache.shiro.web.mgt.DefaultWebSubjectFactory
<ul>
<li type="circle">org.apache.shiro.cas.<a href="org/apache/shiro/cas/CasSubjectFactory.html" title="class in org.apache.shiro.cas"><span class="typeNameLink">CasSubjectFactory</span></a></li>
</ul>
</li>
</ul>
</li>
<li type="circle">org.apache.shiro.cache.ehcache.<a href="org/apache/shiro/cache/ehcache/EhCache.html" title="class in org.apache.shiro.cache.ehcache"><span class="typeNameLink">EhCache</span></a>&lt;K,V&gt; (implements org.apache.shiro.cache.Cache&lt;K,V&gt;)</li>
<li type="circle">org.apache.shiro.cache.ehcache.<a href="org/apache/shiro/cache/ehcache/EhCacheManager.html" title="class in org.apache.shiro.cache.ehcache"><span class="typeNameLink">EhCacheManager</span></a> (implements org.apache.shiro.cache.CacheManager, org.apache.shiro.util.Destroyable, org.apache.shiro.util.Initializable)</li>
<li type="circle">org.apache.shiro.web.jaxrs.<a href="org/apache/shiro/web/jaxrs/ExceptionMapper.html" title="class in org.apache.shiro.web.jaxrs"><span class="typeNameLink">ExceptionMapper</span></a> (implements javax.ws.rs.ext.ExceptionMapper&lt;E&gt;)</li>
<li type="circle">org.apache.shiro.hazelcast.cache.<a href="org/apache/shiro/hazelcast/cache/HazelcastCacheManager.html" title="class in org.apache.shiro.hazelcast.cache"><span class="typeNameLink">HazelcastCacheManager</span></a> (implements org.apache.shiro.cache.CacheManager, org.apache.shiro.util.Destroyable, org.apache.shiro.util.Initializable)</li>
<li type="circle">org.apache.shiro.spring.<a href="org/apache/shiro/spring/LifecycleBeanPostProcessor.html" title="class in org.apache.shiro.spring"><span class="typeNameLink">LifecycleBeanPostProcessor</span></a> (implements org.springframework.beans.factory.config.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/beans/factory/config/DestructionAwareBeanPostProcessor.html?is-external=true" title="class or interface in org.springframework.beans.factory.config">DestructionAwareBeanPostProcessor</a>, org.springframework.core.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/core/PriorityOrdered.html?is-external=true" title="class or interface in org.springframework.core">PriorityOrdered</a>)</li>
<li type="circle">org.apache.shiro.aop.MethodInterceptorSupport (implements org.apache.shiro.aop.MethodInterceptor)
<ul>
<li type="circle">org.apache.shiro.authz.aop.AuthorizingMethodInterceptor
<ul>
<li type="circle">org.apache.shiro.authz.aop.AnnotationsAuthorizingMethodInterceptor
<ul>
<li type="circle">org.apache.shiro.spring.security.interceptor.<a href="org/apache/shiro/spring/security/interceptor/AopAllianceAnnotationsAuthorizingMethodInterceptor.html" title="class in org.apache.shiro.spring.security.interceptor"><span class="typeNameLink">AopAllianceAnnotationsAuthorizingMethodInterceptor</span></a> (implements org.aopalliance.intercept.MethodInterceptor)</li>
<li type="circle">org.apache.shiro.aspectj.<a href="org/apache/shiro/aspectj/AspectjAnnotationsAuthorizingMethodInterceptor.html" title="class in org.apache.shiro.aspectj"><span class="typeNameLink">AspectjAnnotationsAuthorizingMethodInterceptor</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li type="circle">com.google.inject.PrivateModule (implements com.google.inject.Module)
<ul>
<li type="circle">org.apache.shiro.guice.<a href="org/apache/shiro/guice/ShiroModule.html" title="class in org.apache.shiro.guice"><span class="typeNameLink">ShiroModule</span></a> (implements org.apache.shiro.util.Destroyable)
<ul>
<li type="circle">org.apache.shiro.guice.web.<a href="org/apache/shiro/guice/web/ShiroWebModule.html" title="class in org.apache.shiro.guice.web"><span class="typeNameLink">ShiroWebModule</span></a></li>
</ul>
</li>
</ul>
</li>
<li type="circle">org.apache.shiro.session.mgt.quartz.<a href="org/apache/shiro/session/mgt/quartz/QuartzSessionValidationJob.html" title="class in org.apache.shiro.session.mgt.quartz"><span class="typeNameLink">QuartzSessionValidationJob</span></a> (implements org.quartz.<a href="https://www.quartz-scheduler.org/api/1.8.6/org/quartz/Job.html?is-external=true" title="class or interface in org.quartz">Job</a>)</li>
<li type="circle">org.apache.shiro.session.mgt.quartz.<a href="org/apache/shiro/session/mgt/quartz/QuartzSessionValidationScheduler.html" title="class in org.apache.shiro.session.mgt.quartz"><span class="typeNameLink">QuartzSessionValidationScheduler</span></a> (implements org.apache.shiro.session.mgt.SessionValidationScheduler)</li>
<li type="circle">org.apache.shiro.web.servlet.ServletContextSupport
<ul>
<li type="circle">org.apache.shiro.web.servlet.AbstractFilter (implements javax.servlet.<a href="https://docs.oracle.com/javaee/5/api/javax/servlet/Filter.html?is-external=true" title="class or interface in javax.servlet">Filter</a>)
<ul>
<li type="circle">org.apache.shiro.web.servlet.NameableFilter (implements org.apache.shiro.util.Nameable)
<ul>
<li type="circle">org.apache.shiro.web.servlet.OncePerRequestFilter
<ul>
<li type="circle">org.apache.shiro.web.servlet.AbstractShiroFilter
<ul>
<li type="circle">org.apache.shiro.guice.web.<a href="org/apache/shiro/guice/web/GuiceShiroFilter.html" title="class in org.apache.shiro.guice.web"><span class="typeNameLink">GuiceShiroFilter</span></a></li>
</ul>
</li>
<li type="circle">org.apache.shiro.web.servlet.AdviceFilter
<ul>
<li type="circle">org.apache.shiro.web.filter.PathMatchingFilter (implements org.apache.shiro.web.filter.PathConfigProcessor)
<ul>
<li type="circle">org.apache.shiro.web.filter.AccessControlFilter
<ul>
<li type="circle">org.apache.shiro.web.filter.authc.AuthenticationFilter
<ul>
<li type="circle">org.apache.shiro.web.filter.authc.AuthenticatingFilter
<ul>
<li type="circle">org.apache.shiro.cas.<a href="org/apache/shiro/cas/CasFilter.html" title="class in org.apache.shiro.cas"><span class="typeNameLink">CasFilter</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li type="circle">org.apache.shiro.aspectj.<a href="org/apache/shiro/aspectj/ShiroAnnotationAuthorizingAspect.html" title="class in org.apache.shiro.aspectj"><span class="typeNameLink">ShiroAnnotationAuthorizingAspect</span></a></li>
<li type="circle">org.apache.shiro.web.jaxrs.<a href="org/apache/shiro/web/jaxrs/ShiroAnnotationFilterFeature.html" title="class in org.apache.shiro.web.jaxrs"><span class="typeNameLink">ShiroAnnotationFilterFeature</span></a> (implements javax.ws.rs.container.DynamicFeature)</li>
<li type="circle">org.apache.shiro.spring.<a href="org/apache/shiro/spring/ShiroEventBusBeanPostProcessor.html" title="class in org.apache.shiro.spring"><span class="typeNameLink">ShiroEventBusBeanPostProcessor</span></a> (implements org.springframework.beans.factory.config.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/beans/factory/config/BeanPostProcessor.html?is-external=true" title="class or interface in org.springframework.beans.factory.config">BeanPostProcessor</a>)</li>
<li type="circle">org.apache.shiro.web.jaxrs.<a href="org/apache/shiro/web/jaxrs/ShiroFeature.html" title="class in org.apache.shiro.web.jaxrs"><span class="typeNameLink">ShiroFeature</span></a> (implements javax.ws.rs.core.Feature)</li>
<li type="circle">org.apache.shiro.spring.web.<a href="org/apache/shiro/spring/web/ShiroFilterFactoryBean.html" title="class in org.apache.shiro.spring.web"><span class="typeNameLink">ShiroFilterFactoryBean</span></a> (implements org.springframework.beans.factory.config.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/beans/factory/config/BeanPostProcessor.html?is-external=true" title="class or interface in org.springframework.beans.factory.config">BeanPostProcessor</a>, org.springframework.beans.factory.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/beans/factory/FactoryBean.html?is-external=true" title="class or interface in org.springframework.beans.factory">FactoryBean</a>&lt;T&gt;)</li>
<li type="circle">org.apache.shiro.web.jaxrs.<a href="org/apache/shiro/web/jaxrs/ShiroSecurityContext.html" title="class in org.apache.shiro.web.jaxrs"><span class="typeNameLink">ShiroSecurityContext</span></a> (implements javax.ws.rs.core.SecurityContext)</li>
<li type="circle">org.apache.shiro.guice.<a href="org/apache/shiro/guice/ShiroSessionScope.html" title="class in org.apache.shiro.guice"><span class="typeNameLink">ShiroSessionScope</span></a> (implements com.google.inject.Scope)</li>
<li type="circle">org.apache.shiro.guice.web.<a href="org/apache/shiro/guice/web/ShiroWebModule.FilterConfig.html" title="class in org.apache.shiro.guice.web"><span class="typeNameLink">ShiroWebModule.FilterConfig</span></a>&lt;T&gt;</li>
<li type="circle">org.apache.shiro.spring.aop.<a href="org/apache/shiro/spring/aop/SpringAnnotationResolver.html" title="class in org.apache.shiro.spring.aop"><span class="typeNameLink">SpringAnnotationResolver</span></a> (implements org.apache.shiro.aop.AnnotationResolver)</li>
<li type="circle">org.springframework.aop.support.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/aop/support/StaticMethodMatcher.html?is-external=true" title="class or interface in org.springframework.aop.support"><span class="typeNameLink">StaticMethodMatcher</span></a> (implements org.springframework.aop.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/aop/MethodMatcher.html?is-external=true" title="class or interface in org.springframework.aop">MethodMatcher</a>)
<ul>
<li type="circle">org.springframework.aop.support.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/aop/support/StaticMethodMatcherPointcut.html?is-external=true" title="class or interface in org.springframework.aop.support"><span class="typeNameLink">StaticMethodMatcherPointcut</span></a> (implements org.springframework.aop.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/aop/Pointcut.html?is-external=true" title="class or interface in org.springframework.aop">Pointcut</a>)
<ul>
<li type="circle">org.springframework.aop.support.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/aop/support/StaticMethodMatcherPointcutAdvisor.html?is-external=true" title="class or interface in org.springframework.aop.support"><span class="typeNameLink">StaticMethodMatcherPointcutAdvisor</span></a> (implements org.springframework.core.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/core/Ordered.html?is-external=true" title="class or interface in org.springframework.core">Ordered</a>, org.springframework.aop.<a href="https://docs.spring.io/spring/docs/2.5.x/javadoc-api/org/springframework/aop/PointcutAdvisor.html?is-external=true" title="class or interface in org.springframework.aop">PointcutAdvisor</a>, java.io.<a href="https://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">org.apache.shiro.spring.security.interceptor.<a href="org/apache/shiro/spring/security/interceptor/AuthorizationAttributeSourceAdvisor.html" title="class in org.apache.shiro.spring.security.interceptor"><span class="typeNameLink">AuthorizationAttributeSourceAdvisor</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li type="circle">org.apache.shiro.web.jaxrs.<a href="org/apache/shiro/web/jaxrs/SubjectPrincipalRequestFilter.html" title="class in org.apache.shiro.web.jaxrs"><span class="typeNameLink">SubjectPrincipalRequestFilter</span></a> (implements javax.ws.rs.container.ContainerRequestFilter)</li>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Exception</span></a>
<ul>
<li type="circle">java.lang.<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/RuntimeException.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">RuntimeException</span></a>
<ul>
<li type="circle">org.apache.shiro.spring.boot.autoconfigure.exception.<a href="org/apache/shiro/spring/boot/autoconfigure/exception/NoRealmBeanConfiguredException.html" title="class in org.apache.shiro.spring.boot.autoconfigure.exception"><span class="typeNameLink">NoRealmBeanConfiguredException</span></a></li>
<li type="circle">org.apache.shiro.ShiroException
<ul>
<li type="circle">org.apache.shiro.authc.AuthenticationException
<ul>
<li type="circle">org.apache.shiro.cas.<a href="org/apache/shiro/cas/CasAuthenticationException.html" title="class in org.apache.shiro.cas"><span class="typeNameLink">CasAuthenticationException</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li type="circle">org.apache.shiro.spring.web.config.<a href="org/apache/shiro/spring/web/config/ShiroFilterChainDefinition.html" title="interface in org.apache.shiro.spring.web.config"><span class="typeNameLink">ShiroFilterChainDefinition</span></a></li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="overview-summary.html">Overview</a></li>
<li>Package</li>
<li>Class</li>
<li>Use</li>
<li class="navBarCell1Rev">Tree</li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
<li><a href="overview-tree.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.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>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2020 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
