
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xml:lang="en" lang="en">
    <!-- generated by Apache Maven JXR (jdk8) -->
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
        <title>Apache Shiro :: Support :: Spring 1.10.1 Reference Package org.apache.shiro.spring.security.interceptor</title>
        <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="style" />
    </head>

    <body>
                <div class="topNav">
            <a name="navbar_top"><!--   --></a>
            <a href="#skip-navbar_top" title="Skip navigation links"></a>
            <a name="navbar_top_firstrow"><!--   --></a>
            <ul class="navList" title="Navigation">
                <li><a href="../../../../../../overview-summary.html">Overview</a></li>
                <li class="navBarCell1Rev">Package</li>
                <li>Class</li>
                <li>Use</li>
                <li>Tree</li>
                <li>Deprecated</li>
                <li>Index</li>
                <li>Help</li>
            </ul>
            <div class="aboutLanguage"><em><strong>Apache Shiro :: Support :: Spring 1.10.1 Reference</strong></em></div>
        </div>
        <div class="subNav">
            <ul class="navList">
                <li>Prev</li>
                <li>Next</li>
            </ul>
            <ul class="navList">
                <li><a href="../../../../../../index.html?overview-summary.html" target="_top">Frames</a></li>
                <li><a href="package-summary.html" target="_top">No Frames</a></li>
            </ul>
            <ul class="navList" id="allclasses_navbar_top">
                <li>All Classes</li>
            </ul>
            <div>
            </div>
            <a name="skip-navbar_top"><!--   --></a>
        </div>
        
                <div class="header">
            <h1 title="Package" class="title">Package org.apache.shiro.spring.security.interceptor</h1>
        </div>
        <div class="contentContainer">
            <ul class="blockList">
                <li class="blockList">
                    <table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
                        <caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
                        <thead>
                            <tr>
                                <th class="colFirst colLast" scope="col">Class</th>
                            </tr>
                        </thead>
                        <tbody>
                                            		                                                                                                <tr class="altColor">
                                <td class="colFirst colLast">
                                    <a href="AopAllianceAnnotationsAuthorizingMethodInterceptor.html#AopAllianceAnnotationsAuthorizingMethodInterceptor" target="classFrame" title="class in org.apache.shiro.spring.security.interceptor">AopAllianceAnnotationsAuthorizingMethodInterceptor</a>
                                </td>
                            </tr>
                                                    </tbody>
                    </table>
                </li>
            </ul>
        </div>
        
                <div class="bottomNav">
            <a name="navbar_bottom"><!--   --></a>
            <a href="#skip-navbar_bottom" title="Skip navigation links"></a>
            <a name="navbar_bottom_firstrow"><!--   --></a>
            <ul class="navList" title="Navigation">
                <li><a href="../../../../../../overview-summary.html">Overview</a></li>
                <li class="navBarCell1Rev">Package</li>
                <li>Class</li>
                <li>Use</li>
                <li>Tree</li>
                <li>Deprecated</li>
                <li>Index</li>
                <li>Help</li>
            </ul>
            <div class="aboutLanguage"><em><strong>Apache Shiro :: Support :: Spring 1.10.1 Reference</strong></em></div>
        </div>
        <div class="subNav">
            <ul class="navList">
                <li>Prev</li>
                <li>Next</li>
            </ul>
            <ul class="navList">
                <li><a href="../../../../../../index.html?overview-summary.html" target="_top">Frames</a></li>
                <li><a href="package-summary.html" target="_top">No Frames</a></li>
            </ul>
            <ul class="navList" id="allclasses_navbar_bottom">
                <li>All Classes</li>
            </ul>
            <div>
            </div>
            <a name="skip-navbar_bottom"><!--   --></a>
        </div>
        
        <div id="footer">
            Copyright &#169; 2004&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.
        </div>
    </body>
</html>