| <!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> | |
| <a href="https://www.apache.org/licenses/LICENSE-2.0.html">License</a> |
| <p class="text-muted">Copyright © 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> |