
<!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 :: JAX-RS 1.10.0 Reference Package org.apache.shiro.web.jaxrs</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 :: JAX-RS 1.10.0 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.web.jaxrs</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="AnnotationAuthorizationFilter.html#AnnotationAuthorizationFilter" target="classFrame" title="class in org.apache.shiro.web.jaxrs">AnnotationAuthorizationFilter</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="rowColor">
                                <td class="colFirst colLast">
                                    <a href="ExceptionMapper.html#ExceptionMapper" target="classFrame" title="class in org.apache.shiro.web.jaxrs">ExceptionMapper</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="altColor">
                                <td class="colFirst colLast">
                                    <a href="ShiroAnnotationFilterFeature.html#ShiroAnnotationFilterFeature" target="classFrame" title="class in org.apache.shiro.web.jaxrs">ShiroAnnotationFilterFeature</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="rowColor">
                                <td class="colFirst colLast">
                                    <a href="ShiroFeature.html#ShiroFeature" target="classFrame" title="class in org.apache.shiro.web.jaxrs">ShiroFeature</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="altColor">
                                <td class="colFirst colLast">
                                    <a href="ShiroSecurityContext.html#ShiroSecurityContext" target="classFrame" title="class in org.apache.shiro.web.jaxrs">ShiroSecurityContext</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="rowColor">
                                <td class="colFirst colLast">
                                    <a href="ShiroSecurityContext.html#ShiroSecurityContext.ObjectPrincipal" target="classFrame" title="class in org.apache.shiro.web.jaxrs">ShiroSecurityContext.ObjectPrincipal</a>
                                </td>
                            </tr>
                                                                                                                        <tr class="altColor">
                                <td class="colFirst colLast">
                                    <a href="SubjectPrincipalRequestFilter.html#SubjectPrincipalRequestFilter" target="classFrame" title="class in org.apache.shiro.web.jaxrs">SubjectPrincipalRequestFilter</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 :: JAX-RS 1.10.0 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>