blob: b0e61cebb95bc3c85e9d67e2e2ce8cb084f673cf [file] [log] [blame]
<!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>