blob: 55d4c4764102f51ff2277a0bdebf46eaa50c2534 [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>Apache Shiro | Simple. Java. Security.</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<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="Apache Shiro | Simple. Java. Security."/>
<meta property="og:type" content="website"/>
<meta property="og:locale" content="en_US" />
<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="row">
<div class="col-md-9 col-md-pull-3">
<div class="p-5 bg-light rounded-3 mb-4 shadow-sm">
<b>Apache Shiro&trade;</b> is a powerful and easy-to-use Java security framework that performs authentication,
authorization, cryptography, and session management. With Shiro&#8217;s easy-to-understand API, you can
quickly and easily secure any application &#8211; from the smallest mobile applications to the largest web
and enterprise applications.
</div>
<div class="row row-padded">
<div class="col-md-6 col-sm-6">
<h1>Getting Started</h1>
<ul>
<li><a href="https://www.infoq.com/articles/apache-shiro">What is Apache Shiro?</a></li>
<li><a href="10-minute-tutorial.html">10 Minute Tutorial</a></li>
<li><a href="articles.html">More articles...</a></li>
</ul>
</div>
<div class="col-md-6 col-sm-6 col-padded-top col-center">
<div style="width: 100%; max-width: 272px; display: inline-block; text-align: center; margin-left: 50px; padding-bottom: 15px;">
<iframe width="310" height="233"
src="https://www.youtube.com/embed/YJByiDvOhsc?rel=0"
allowfullscreen>
</iframe>
</div>
</div>
</div>
<div class="row row-padded">
<div class="col-md-6 col-sm-6 panel mb-3">
<div class="panel-heading authentication">
<h2 class="panel-title"> Authentication </h2>
</div>
<div class="card-body shadow-sm pb-2">
<p>Support logins across one or more pluggable data sources (LDAP, JDBC, Active Directory...</p>
<a href="authentication-features.html"><span class="more">Read More &gt;&gt;&gt;</span></a>
</div>
</div>
<div class="col-md-6 col-sm-6 panel mb-3">
<div class="panel-heading authorization">
<h2 class="panel-title"> Authorization</h2>
</div>
<div class="card-body shadow-sm pb-2">
<p>Perform access control based on roles or fine grained permissions, also using plug...</p>
<a href="authorization-features.html"><span class="more">Read More &gt;&gt;&gt;</span></a>
</div>
</div>
</div>
<div class="row row-padded">
<div class="col-md-6 col-sm-6 panel mb-3">
<div class="panel-heading cryptography">
<h2 class="panel-title"> Cryptography</h2>
</div>
<div class="card-body shadow-sm pb-2">
<p>Secure data with the easiest possible Cryptography API&#8217;s available, giving you...</p>
<a href="cryptography-features.html"><span class="more">Read More &gt;&gt;&gt;</span></a>
</div>
</div>
<div class="col-md-6 col-sm-6 panel mb-3">
<div class="panel-heading session-management">
<h2 class="panel-title"> Session Management</h2>
</div>
<div class="card-body shadow-sm pb-2">
<p>Use sessions in any environment, even outside web or EJB containers. Easily...</p>
<a href="session-management-features.html"><span class="more">Read More &gt;&gt;&gt;</span></a>
</div>
</div>
</div>
<div class="row row-padded">
<div class="col-md-6 col-sm-6 panel mb-3">
<div class="panel-heading web-integration">
<h2 class="panel-title"> Web Integration</h2>
</div>
<div class="card-body shadow-sm pb-2">
<p>Save development time with innovative approaches that easily handle web specific...</p>
<a href="web-features.html"><span class="more">Read More &gt;&gt;&gt;</span></a>
</div>
</div>
<div class="col-md-6 col-sm-6 panel mb-3">
<div class="panel-heading integrations">
<h2 class="panel-title"> Integrations</h2>
</div>
<div class="card-body shadow-sm pb-2">
<p>API&#8217;s giving you power and simplicty beyond what Java provides by default...</p>
<a href="integration.html"><span class="more">Read More &gt;&gt;&gt;</span></a>
</div>
</div>
</div>
</div>
<div class="col-md-3 col-md-push-9">
<div class="hidden-xs hidden-sm">
<div class="d-grid gap-2">
<a href="download.html"
class="btn btn-success btn-lg" style="margin-bottom: 30px;">
Download
</a>
</div>
<div class="card border-primary mb-4 shadow-sm">
<div class="card-header bg-primary text-white" style="text-align: center;">
<h3 class="card-title">Latest news:</h3>
</div>
<div class="card-body">
<div>
<a href="blog/2024/02/apache-shiro-200-released.html"><h4 class="news-title">2.0.0 available</h4></a>
<p><small>by Lenny Primak on 2024-02-28</small></p>
</div>
<div>
<a href="blog/2023/11/10/apache-shiro-1130-released.html"><h4 class="news-title">1.13.0 available with fix CVE-2023-46750</h4></a>
<p><small>by Francois Papon on 2023-11-10</small></p>
</div>
<div>
<a href="blog/2023/07/18/apache-shiro-1120-released.html"><h4 class="news-title">1.12.0 available with fix CVE-2023-34478</h4></a>
<p><small>by Francois Papon on 2023-07-18</small></p>
</div>
<div>
<a href="blog/2023/05/04/apache-shiro-200-alpha-1-released.html"><h4 class="news-title">2.0.0-alpha available</h4></a>
<p><small>by Lenny Primak on 2023-05-04</small></p>
</div>
<div>
<a href="blog/2023/01/13/apache-shiro-1110-released.html"><h4 class="news-title">1.11.0 available with fix CVE-2023-22602</h4></a>
<p><small>by Brian Demers on 2023-01-13</small></p>
</div>
<hr/>
<nav class="" aria-label="News Pagination">
<ul class="pagination justify-content-center">
<li class="page-item disabled" aria-disabled="true" disabled><a class="page-link" rel="prev" href="#">Previous</a></li>
<li class="page-item"><a class="page-link" rel="self" href="">1</a></li>
<li class="page-item"><a class="page-link" rel="next" href="2">Next</a></li>
<li class="page-item"><a class="page-link" href="news.html">Archive</a></li>
</ul>
</nav>
</div>
</div>
<div class="card border-primary mb-4 shadow-sm">
<div class="card-header bg-primary text-white" style="text-align: center;">
<h3 class="card-title">Popular Guides:</h3>
</div>
<div class="card-body">
<div>
<a href="java-authentication-guide.html"><h4 class="popular-guides">Java Authentication Guide</h4></a>
<p><small>Learn how Shiro securely verifies identities.</small></p>
</div>
<div>
<a href="java-authorization-guide.html"><h4 class="popular-guides">Java Authorization Guide</h4></a>
<p><small>Learn how Shiro handles permissions, roles and users.</small></p>
</div>
<div>
<a href="webapp-tutorial.html"><h4 class="popular-guides">Web App Tutorial</h4></a>
<p><small>Step-by-step tutorial for securing a web application with Apache Shiro.</small></p>
</div>
<div>
<a href="https://www.infoq.com/minibooks/apache-shiro-ee-7"><h4 class="popular-guides">Apache Shiro Mini Book</h4></a>
<p><small>A free InfoQ mini-book by<br/><a href="https://twitter.com/nebrasslamouchi">Nebrass Lamouchi</a></small></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="push"></div>
<!-- before footer -->
</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">
</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>