<!DOCTYPE html>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-  2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<html lang="en">
  <head>
    <meta charset="utf-8"/>
    <title>Integrations | Apache Shiro</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="keywords" content='documentation,overview,features'>
    <meta name="generator" content="JBake">
    <meta name="google-site-verification" content="QIax6uT5UX3enoU0G8Pz2pXbQ45KaQuHZ3nCh9V27mw">
    <meta name="google-site-verification" content="ecFap6dWJgS_GCCtxmJQJ_nFYQhM6EgSpBPZDU7xsCE">
    <meta name="google-site-verification" content="gBTYOG8lMfNb_jrWrH3kFbudpEs_WrAJ2lb2-zLRaso"/>
    <meta name="msvalidate.01" content="0B57EB46CBFAD8FD45008D2DB6B6C68C">

    <meta property="og:title" content="Integrations | Apache Shiro"/>
    <meta property="og:type" content="article"/>
      <meta name="twitter:card" content="summary" />
    <meta name="twitter:site" content="@ApacheShiro" />
    <meta property="article:modification_time" content="2010-03-18T00:00:00Z"/>
    <meta property="article:tag" content='documentation'/>
    <meta property="article:tag" content='overview'/>
    <meta property="article:tag" content='features'/>
    <meta property="og:locale" content="en_US" />
    <meta property="og:url" content='https://shiro.apache.org/integration.html'/>
    <meta property="og:image" content='images/shiro-featured-image.png'/>
    <meta property="og:image:width" content='1200'/>
    <meta property="og:image:height" content='628'/>
    <meta property="og:site_name" content="Apache Shiro"/>

    <!-- Le styles -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="bootstrap-icons-1.5.0/bootstrap-icons.css" rel="stylesheet">
    <link href="css/asciidoctor.css" rel="stylesheet">
    <link href="css/base.css" rel="stylesheet">
    <link href="highlight.js-11.2.0/styles/default.min.css" rel="stylesheet">
    <link href="css/gh-pages/gh-fork-ribbon.css" rel="stylesheet"/>

    <!-- Fav and touch icons -->
    <!--<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
    <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">-->
    <link rel="shortcut icon" href="favicon.ico">

    <!-- Matomo -->
    <script>
        var _paq = window._paq = window._paq || [];
        /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
        _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 -->
  </head>
  <body>
    <div id="top-bar"></div>
    <a class="github-fork-ribbon right-top" href="https://github.com/apache/shiro" title="Fork me on GitHub">Fork me on GitHub</a>

    <div id="wrap">

      <div class="masthead">
        <p class="lead">
          <a href="index.html"><img src="images/apache-shiro-logo.png" style="height:100px; width:auto; vertical-align: bottom; margin-top: 20px;" alt="Apache Shiro Logo"></a>
          <span class="tagline">Simple. Java. Security.</span>
          <a class="pull-right" href="https://www.apache.org/events/current-event.html">
            <img style="padding-top: 8px" src="https://www.apache.org/events/current-event-125x125.png" alt="Apache Software Foundation Event Banner"/>
          </a>
        </p>
      </div>

	<!-- Fixed navbar -->
    <nav class="navbar navbar-expand-lg navbar-light bg-light shadow-sm mb-4">
      <div class="container-fluid">
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse" id="navbarSupportedContent">
          <ul class="navbar-nav me-auto mb-2 mb-lg-0">
            <li class="nav-item">
              <a class="nav-link" href="get-started.html">Get Started</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="documentation.html">Docs</a>
            </li>

            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown-webapps" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                Web Apps
              </a>
              <ul class="dropdown-menu" aria-labelledby="navbarDropdown-webapps">
                <li><a class="dropdown-item" href="web.html">General</a></li>
                <li><a class="dropdown-item" href="jaxrs.html">JAX-RS</a></li>
                <li><a class="dropdown-item" href="jakarta-ee.html">Jakarta EE</a></li>
                <li><hr class="dropdown-divider"></li>
                <li><a class="dropdown-item" href="web-features.html">Features</a></li>
              </ul>
            </li>

            <li><a class="nav-link" href="features.html">Features</a></li>

            <!-- integrations -->
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown-integrations" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                Integrations
              </a>
              <ul class="dropdown-menu" aria-labelledby="navbarDropdown-integrations">
                <li><a class="dropdown-item" href="spring-boot.html">Spring</a></li>
                <li><a class="dropdown-item" href="guice.html">Guice</a></li>
                <li><hr class="dropdown-divider"></li>
                <li><a class="dropdown-item" href="integration.html">Third-Party Integrations</a></li>
              </ul>
            </li>

            <!-- Community -->
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown-community" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                Community
              </a>
              <ul class="dropdown-menu" aria-labelledby="navbarDropdown-community">
                <li><a class="dropdown-item" href="forums.html">Community Forums</a></li>
                <li><a class="dropdown-item" href="mailing-lists.html">Mailing Lists</a></li>
                <li><a class="dropdown-item" href="articles.html">Articles</a></li>
                <li><a class="dropdown-item" href="news.html">News</a></li>
                <li><a class="dropdown-item" href="events.html">Events</a></li>
                <li><hr class="dropdown-divider"></li>
                <li><a class="dropdown-item" href="community.html">More</a></li>
              </ul>
            </li>

            <!-- About -->
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown-about" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                About
              </a>
              <ul class="dropdown-menu" aria-labelledby="navbarDropdown-about">
                <li><a class="dropdown-item" href="about.html">About</a></li>
                <li><a class="dropdown-item" href="privacy-policy.html">Privacy Policy</a></li>
                <li><a class="dropdown-item" href="security-reports.html">Vulnerability Reports</a></li>
              </ul>
            </li>
          </ul>

          <ul class="d-flex justify-content-end navbar-nav mb-2 mb-lg-0">
            <!-- The ASF -->
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown-asf" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                Apache Software Foundation
              </a>
              <ul class="dropdown-menu" aria-labelledby="navbarDropdown-asf">
                <li><a class="dropdown-item" href="https://www.apache.org/">Apache Homepage</a></li>
                <li><a class="dropdown-item" href="https://www.apache.org/licenses/">License</a></li>
                <li><a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                <li><a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                <li><a class="dropdown-item" href="https://www.apache.org/security/">Security</a></li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </nav>

	<div class="page-header">
		<h1>Integrations</h1>
	</div>


  <div class="admonitionblock tip">
    <table>
      <tbody>
        <tr>
          <td class="icon">
            <div class="title">Handy Hint</div>
          </td>
          <td class="content">
            <div class="title">Shiro v1 version notice</div>
            <div class="paragraph">
              <p>As of 2024-03-01, Shiro v1 will soon be superseded by v2.<p>
            </div>
          </td>
        </tr>
      </tbody>
    </table>
  </div>

<div id="toc" class="toc">
<div id="toctitle">Table of Contents</div>
<ul class="sectlevel1">
<li><a href="#officially_supported_integrations">Officially Supported Integrations</a></li>
<li><a href="#open_source_community_integrations">Open Source Community Integrations</a></li>
<li><a href="#ports">Ports</a></li>
<li><a href="#got_an_integration">Got An Integration?</a></li>
</ul>
</div>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>Shiro has been downloaded over one million times and is in production at thousands of companies. One reason: it integrates well with other technologies and frameworks.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="officially_supported_integrations">Officially Supported Integrations</h2>
<div class="sectionbody">
<div class="paragraph">
<p>These integrations are supported by the Apache Shiro Development team.
Want to help make them great?
<a href="/how-to-contribute.html">Contribute</a> back to the project!</p>
</div>
<div class="ulist">
<ul>
<li>
<p><strong><a href="/spring.html">Spring Application Framework</a></strong></p>
<div class="paragraph">
<p>Integrate Shiro into standalone or web-based Spring applications.</p>
</div>
</li>
<li>
<p><strong><a href="/guice.html">Guice Dependency Injection Framework</a></strong></p>
<div class="paragraph">
<p>For Guice-based applications using standard Guice conventions and mechanisms.</p>
</div>
</li>
<li>
<p><strong><a href="/cas.html">CAS SSO server</a></strong></p>
<div class="paragraph">
<p>Protect your WebApp with a Jasig CAS SSO server.</p>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="open_source_community_integrations">Open Source Community Integrations</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p><strong><a href="https://github.com/bujiio/buji-pac4j">buji-pac4j</a></strong></p>
<div class="paragraph">
<p>from <a href="https://www.pac4j.org/">PAC4J</a></p>
</div>
<div class="paragraph">
<p>An easy and powerful security library for Shiro web applications and web services.</p>
</div>
</li>
<li>
<p><strong><a href="https://plugins.grails.org/plugin/nerderg/grails-shiroo">Grails</a></strong></p>
<div class="paragraph">
<p>from <a href="https://nerderg.com/">nerdEng</a>.</p>
</div>
<div class="paragraph">
<p>Adds easy authentication and access control to Grails applications.</p>
</div>
</li>
<li>
<p><strong><a href="https://isis.apache.org">Apache Isis</a></strong></p>
<div class="paragraph">
<p>from <a href="https://apache.org/">Apache</a>.</p>
</div>
<div class="paragraph">
<p>Apache Isis is a full-stack framework for rapidly developing domain driven apps and RESTful APIs in Java.
<a href="https://isis.apache.org/documentation.html#security">It uses Apache Shiro</a> for authentication and authorization.</p>
</div>
</li>
<li>
<p><strong><a href="https://geode.apache.org/">Apache Geode</a></strong></p>
<div class="paragraph">
<p>from <a href="https://apache.org/">Apache</a>.</p>
</div>
<div class="paragraph">
<p>Using Apache Shiro to secure Geode endpoints like JMX operations, rest services, web monitoring application, CLI tool, and client server communications.</p>
</div>
</li>
<li>
<p><strong><a href="https://github.com/cilogi/gaeshiro">Google App Engine</a></strong></p>
<div class="paragraph">
<p>from <a href="https://twitter.com/@cilogi">@cilogi</a>.</p>
</div>
<div class="paragraph">
<p>Demo of one way to integrate Shiro with App Engine and Google Guice, plus front-end user registration and password management.</p>
</div>
</li>
<li>
<p><strong><a href="https://github.com/55minutes/fiftyfive-wicket">55Wicket</a></strong></p>
<div class="paragraph">
<p>from <a href="https://55minutes.com">55 Minutes</a></p>
</div>
<div class="paragraph">
<p>A nifty set of tools and libraries for enhancing productivity with the Apache Wicket Java web framework, including Shiro Integration.</p>
</div>
</li>
<li>
<p><strong><a href="https://github.com/timperrett/lift-shiro">Lift</a></strong></p>
<div class="paragraph">
<p>from <a href="https://twitter.com/@timperrett">@timperrett</a>.</p>
</div>
<div class="paragraph">
<p>Integration between Shiro and the Lift Web framework.
Uses Lift’s sitemap Locs instead of Shiro’s built-in web.xml resource filters to control access to URLs.</p>
</div>
</li>
<li>
<p><strong><a href="https://github.com/alexxiyang/shiro-redis">Redis Cache Manager</a></strong></p>
<div class="paragraph">
<p>from <a href="https://github.com/alexxiyang">@alexxiyang</a>.</p>
</div>
<div class="paragraph">
<p>A <a href="https://redis.io/">Redis</a> Cache Manager implementation.</p>
</div>
</li>
<li>
<p><strong><a href="https://github.com/mythfish/shiro-memcached">Memcached Cache Manager</a></strong></p>
<div class="paragraph">
<p>from <a href="https://github.com/mythfish">@mythfish</a></p>
</div>
<div class="paragraph">
<p>A <a href="https://memcached.org/">Memcached</a> Cache Manager implementation.</p>
</div>
</li>
<li>
<p><strong><a href="https://github.com/silb/shiro-jersey">JAX-RS</a></strong></p>
<div class="paragraph">
<p>from <a href="https://github.com/silb">@silb</a>.</p>
</div>
<div class="paragraph">
<p>Apache Shiro support for the Jersey JAX-RS implementation.</p>
</div>
</li>
</ul>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
This module had been moved into Apache Shiro.
</td>
</tr>
</table>
</div>
<div class="ulist">
<ul>
<li>
<p><strong><a href="https://github.com/silb/dropwizard-shiro">Dropwizard</a></strong></p>
<div class="paragraph">
<p>from <a href="https://github.com/silb">@silb</a>.</p>
</div>
<div class="paragraph">
<p>A bundle for securing <a href="https://www.dropwizard.io/">Dropwizard</a> with Apache Shiro.</p>
</div>
</li>
<li>
<p><strong><a href="https://github.com/theborakompanioni/thymeleaf-extras-shiro">Thymeleaf</a></strong></p>
<div class="paragraph">
<p>from <a href="https://github.com/theborakompanioni">@theborakompanioni</a>.</p>
</div>
<div class="paragraph">
<p>A <a href="https://www.thymeleaf.org/">Thymeleaf</a> dialect for <a href="https://shiro.apache.org">Apache Shiro</a> <a href="https://shiro.apache.org/tags">tags</a>.</p>
</div>
</li>
<li>
<p><strong><a href="https://github.com/davidsowerby/krail">Krail</a></strong></p>
<div class="paragraph">
<p>from <a href="https://github.com/davidsowerby">@davidsowerby</a>.</p>
</div>
<div class="paragraph">
<p>Krail provides a framework for rapid Java web development by combining Vaadin, Guice, Apache Shiro, Apache Commons Configuration and others.</p>
</div>
</li>
<li>
<p><strong><a href="https://github.com/ocpsoft/rewrite/tree/main/security-integration-shiro">Rewrite Servlet</a></strong></p>
<div class="paragraph">
<p>from <a href="https://www.ocpsoft.org/rewrite/">ocpsoft</a>.</p>
</div>
<div class="paragraph">
<p>A highly configurable URL-rewriting tool for Java EE 6+ and Servlet 2.5+ applications</p>
</div>
</li>
<li>
<p><strong><a href="https://freedomotic-developer-manual.readthedocs.io/en/latest/plugins/security.html">Freedomotic</a></strong></p>
<div class="paragraph">
<p>from <a href="https://www.freedomotic.com">freedomotic</a>.</p>
</div>
<div class="paragraph">
<p>An open source, flexible, secure Internet of Things (IoT) development framework in Java, useful to build and manage modern smart spaces.</p>
</div>
</li>
<li>
<p><strong><a href="https://github.com/flowlogix/flowlogix">FlowLogix Jakarta EE Library</a></strong></p>
<div class="paragraph">
<p>from <a href="https://twitter.com/lprimak">Lenny Primak</a>.</p>
</div>
<div class="paragraph">
<p>Integrates Jakarta EE / Java EE applications with Shiro Security, specifically makes Shiro Annotations work with Java EE.</p>
</div>
</li>
</ul>
</div>
<div class="admonitionblock note">
<table>
<tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
This module will be integrated directly into Shiro with version 2.0 and above.
</td>
</tr>
</table>
</div>
<div class="ulist">
<ul>
<li>
<p><strong><a href="https://github.com/bootique/bootique-shiro">Bootique Shiro</a></strong></p>
<div class="paragraph">
<p>from <a href="https://github.com/bootique/bootique">Bootique</a>.</p>
</div>
<div class="paragraph">
<p>Bootique is a minimally opinionated platform for modern runnable Java apps.</p>
</div>
</li>
<li>
<p><strong><a href="https://github.com/casdoor/shiro-casdoor">Shiro Casdoor</a></strong></p>
<div class="paragraph">
<p>from <a href="https://casdoor.org/">Casdoor</a>.</p>
</div>
<div class="paragraph">
<p>Casdoor is a UI-first centralized authentication / Single-Sign-On (SSO) platform supporting OAuth 2.0, OIDC and SAML.</p>
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="ports">Ports</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p><strong><a href="https://github.com/stormpath/Turnstile">Turnstile</a></strong> - Swift</p>
</li>
<li>
<p><strong><a href="https://github.com/YosaiProject/yosai">Yosai</a></strong> - Python</p>
</li>
<li>
<p><strong><a href="https://github.com/gnavarro77/angular-shiro">Angular</a></strong> - Angular</p>
</li>
</ul>
</div>
</div>
</div>
<div class="sect1">
<h2 id="got_an_integration">Got An Integration?</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Have an integration you want listed?
Send us a pull request of <a href="https://github.com/apache/shiro-site/blob/main/integration.md">this page</a>, and participate in Shiro development!</p>
</div>
<div class="paragraph">
<p><a href="how-to-contribute.html">Learn more about contributing to Apache Shiro</a>.</p>
</div>
</div>
</div>
	<hr />

</div> 

    <div class="footer-padding"></div>

    <div class="container-fluid pt-2 border-top" id="custom-footer">
      <footer class="row justify-content-between align-items-center">
        <div class=" col-md-5">
          <div class="copyright-footer justify-content-start">
            <a href="https://www.apache.org/foundation/contributing.html">Donate to the ASF</a>&nbsp;|&nbsp;
            <a href="https://www.apache.org/licenses/LICENSE-2.0.html">License</a>&nbsp;
            <p class="text-muted">Copyright &copy; 2008-2024 The Apache Software Foundation</p>
          </div>
        </div>

        <div class="d-flex justify-content-center col-md-1">
          <a class="btn btn-social"><span class="social-icon social-twitter"><i class="bi bi-twitter"></i></span></a>
          <a class="btn btn-social"><span class="social-icon social-facebook"><i class="bi bi-facebook"></i></span></a>
          <a class="btn btn-social"><span class="social-icon social-linkedin"><i class="bi bi-linkedin"></i></span></a>
        </div>

        <div class="d-flex justify-content-end col-md-4" id="editThisPage">
          <input type="hidden" id="ghEditPage" value="https://github.com/apache/shiro-site/edit/main/src/site/content/integration.adoc"/>
        </div>

        <div class="d-flex col-md-2 justify-content-end" style="position: relative">
          <div class="footer-shield"></div>
        </div>
      </footer>
    </div>


    <!-- Le javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="js/bootstrap.min.js"></script>
    <script src="highlight.js-11.2.0/highlight.min.js"></script>
    <script src="js/shiro.js"></script>

    <script>
        docReady(
          addPageEditLink()
      );
    </script>
    <script>hljs.highlightAll();</script>

    </body>
</html>
