This is an automated email from the ASF dual-hosted git repository.
lprimak pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/shiro-site.git
The following commit(s) were added to refs/heads/asf-staging by this push:
new edd0ebc98 update
edd0ebc98 is described below
commit edd0ebc985da0a563c6b000f0a8a320b2ecb9227
Author: lprimak <[email protected]>
AuthorDate: Tue Jan 13 16:54:09 2026 -0600
update
---
.well-known/security.txt | 2 +-
dependency-chain.html | 540 +++++++++++++++++++++++++++++++++++++++++++++++
feed.xml | 2 +-
jakarta-ee.html | 29 ++-
sitemap.xml | 94 +++++----
web.html | 14 ++
6 files changed, 633 insertions(+), 48 deletions(-)
diff --git a/.well-known/security.txt b/.well-known/security.txt
index 0c2d7cf41..182393327 100644
--- a/.well-known/security.txt
+++ b/.well-known/security.txt
@@ -1,5 +1,5 @@
Contact: mailto:[email protected]
-Expires: 2027-01-13T22:20:45Z
+Expires: 2027-01-13T22:53:50Z
Preferred-Languages: en
Canonical: https://shiro.apache.org/.well-known/security.txt
Policy: https://shiro.apache.org/security-reports.html
\ No newline at end of file
diff --git a/dependency-chain.html b/dependency-chain.html
new file mode 100644
index 000000000..d4b91735c
--- /dev/null
+++ b/dependency-chain.html
@@ -0,0 +1,540 @@
+<!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>Using FlowLogix Dependency Chains with Apache Shiro | Apache
Shiro</title>
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta name="keywords"
content='documentation,jakarta-ee,dependencies,integrations'>
+ <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="Using FlowLogix Dependency Chains with
Apache Shiro | 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="2026-01-03T00:00:00Z"/>
+ <meta property="article:tag" content='documentation'/>
+ <meta property="article:tag" content='jakarta-ee'/>
+ <meta property="article:tag" content='dependencies'/>
+ <meta property="article:tag" content='integrations'/>
+ <meta property="og:locale" content="en_US" />
+ <meta property="og:url"
content='https://shiro.apache.org/dependency-chain.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(["setDoNotTrack", true]);
+ _paq.push(["disableCookies"]);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="https://analytics.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-model.html">Security Model</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>Using FlowLogix Dependency Chains with Apache Shiro</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 February 28, 2024, Shiro v1 was superseded by v2.<p>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+<div id="preamble">
+<div class="sectionbody">
+<div class="paragraph">
+<p>Managing Apache Shiro dependencies in Jakarta EE projects can be simplified
using the FlowLogix Dependency Chains. This approach provides a cleaner
alternative to managing the BOM (Bill of Materials) directly, reducing
configuration complexity and common errors.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="what_is_the_flowlogix_dependency_chain">What is the FlowLogix
Dependency Chain?</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>FlowLogix provides pre-configured Maven dependency chains that bundle
related dependencies together. For Apache Shiro with Jakarta EE, the
<code>shiro-jakarta</code> module includes all necessary Shiro components with
the correct Jakarta classifier, eliminating the need to declare each dependency
individually.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="why_use_dependency_chains_instead_of_bom">Why Use Dependency Chains
Instead of BOM?</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Traditional BOM usage requires importing the BOM in
<code><dependencyManagement></code> and then declaring each individual
dependency. This approach can lead to:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Forgetting to include required transitive dependencies</p>
+</li>
+<li>
+<p>Inconsistent versions when mixing dependencies</p>
+</li>
+<li>
+<p>Verbose configuration with multiple dependency declarations</p>
+</li>
+<li>
+<p>Missing the <code>jakarta</code> classifier on artifacts</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>The dependency chain approach bundles everything you need in a single
dependency, automatically including:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>shiro-core</code> (jakarta classifier)</p>
+</li>
+<li>
+<p><code>shiro-web</code> (jakarta classifier)</p>
+</li>
+<li>
+<p><code>shiro-jakarta-ee</code> (jakarta classifier)</p>
+</li>
+<li>
+<p><code>shiro-cdi</code> (jakarta classifier)</p>
+</li>
+<li>
+<p><code>shiro-jaxrs</code> (jakarta classifier)</p>
+</li>
+<li>
+<p><code>commons-configuration2</code></p>
+</li>
+<li>
+<p><code>omnifaces</code></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="maven_configuration">Maven Configuration</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="using_the_dependency_chain_recommended">Using the Dependency Chain
(Recommended)</h3>
+<div class="paragraph">
+<p>Add a single dependency to include all Shiro Jakarta EE components:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-xml hljs"
data-lang="xml"><dependencies>
+ <dependency>
+ <groupId>com.flowlogix.depchain</groupId>
+ <artifactId>shiro-jakarta</artifactId>
+ <version>11</version>
+ <type>pom</type>
+ </dependency>
+</dependencies></code></pre>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="comparison_with_traditional_bom_approach">Comparison with Traditional
BOM Approach</h3>
+<div class="paragraph">
+<p>For reference, the traditional BOM approach requires significantly more
configuration:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-xml hljs"
data-lang="xml"><!-- Traditional BOM Approach (more verbose) -->
+<dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-bom</artifactId>
+ <version>2.0.6</version>
+ <scope>import</scope>
+ <type>pom</type>
+ </dependency>
+ </dependencies>
+</dependencyManagement>
+
+<dependencies>
+ <dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-jakarta-ee</artifactId>
+ <classifier>jakarta</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-cdi</artifactId>
+ <classifier>jakarta</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-core</artifactId>
+ <classifier>jakarta</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-web</artifactId>
+ <classifier>jakarta</classifier>
+ </dependency>
+ <dependency>
+ <groupId>org.omnifaces</groupId>
+ <artifactId>omnifaces</artifactId>
+ <version>LATEST</version>
+ </dependency>
+</dependencies></code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="gradle_configuration">Gradle Configuration</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="using_the_dependency_chain">Using the Dependency Chain</h3>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-groovy hljs"
data-lang="groovy">dependencies {
+ implementation platform('com.flowlogix.depchain:shiro-jakarta:11')
+}</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For Kotlin DSL:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-kotlin hljs"
data-lang="kotlin">dependencies {
+ implementation(platform("com.flowlogix.depchain:shiro-jakarta:11"))
+}</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="version_information">Version Information</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The FlowLogix dependency chain version corresponds to the major release of
FlowLogix components:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Version 11: Compatible with Java 17-25+ and Jakarta EE 11</p>
+</li>
+<li>
+<p>Version 10: Compatible with Java 17+ and Jakarta EE 10</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Check the <a
href="https://central.sonatype.com/search?q=com.flowlogix.depchain&sort=published">Maven
Central</a> for the latest available version.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="additional_resources">Additional Resources</h2>
+<div class="sectionbody">
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://docs.flowlogix.com/depchains">FlowLogix Dependency Chains
Documentation</a></p>
+</li>
+<li>
+<p><a href="https://github.com/flowlogix/flowlogix">FlowLogix GitHub
Repository</a></p>
+</li>
+<li>
+<p><a href="jakarta-ee.html">Apache Shiro Jakarta EE Integration Guide</a></p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="complete_example_project">Complete Example Project</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Here is a minimal <code>pom.xml</code> for a Jakarta EE web application
with Shiro security:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-xml hljs"
data-lang="xml"><?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+ https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>com.example</groupId>
+ <artifactId>shiro-jakarta-demo</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>war</packaging>
+
+ <properties>
+ <maven.compiler.source>17</maven.compiler.source>
+ <maven.compiler.target>17</maven.compiler.target>
+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ </properties>
+
+ <dependencies>
+ <!-- Jakarta EE API -->
+ <dependency>
+ <groupId>jakarta.platform</groupId>
+ <artifactId>jakarta.jakartaee-api</artifactId>
+ <version>10.0.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- Shiro Jakarta EE - All-in-one dependency -->
+ <dependency>
+ <groupId>com.flowlogix.depchain</groupId>
+ <artifactId>shiro-jakarta</artifactId>
+ <version>11</version>
+ <type>pom</type>
+ </dependency>
+ </dependencies>
+</project></code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="migrating_from_bom_to_dependency_chain">Migrating from BOM to
Dependency Chain</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>To migrate an existing project from the traditional BOM approach:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Remove the <code>shiro-bom</code> import from
<code><dependencyManagement></code></p>
+</li>
+<li>
+<p>Remove individual Shiro dependency declarations</p>
+</li>
+<li>
+<p>Add the single <code>shiro-jakarta</code> dependency chain</p>
+</li>
+<li>
+<p>Remove any manually specified <code>jakarta</code> classifiers</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>The dependency chain automatically handles classifier configuration and
ensures all required components are included with compatible versions.</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-2026 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/dependency-chain.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>
diff --git a/feed.xml b/feed.xml
index dfd5f30d9..9c888292b 100644
--- a/feed.xml
+++ b/feed.xml
@@ -4,7 +4,7 @@
<subtitle>Simple. Java. Security.</subtitle>
<link href="https://shiro.apache.org/"/>
<link rel="self" href="https://shiro.apache.org/feed.xml" />
- <updated>2026-01-13T22:20:45Z</updated>
+ <updated>2026-01-13T22:53:51Z</updated>
<author>
<name>Les Hazlewood</name>
diff --git a/jakarta-ee.html b/jakarta-ee.html
index 12aeb8336..405309801 100644
--- a/jakarta-ee.html
+++ b/jakarta-ee.html
@@ -428,7 +428,33 @@ The module is compatible with Java EE 8 through Jakarta EE
10 or later. It may w
<div class="sect2">
<h3 id="how_to_use_jakarta_9_jakarta_namespace">How to use Jakarta 9+
(jakarta.* namespace)</h3>
<div class="paragraph">
-<p>Use the Shiro artifacts with Jakarta classifiers:</p>
+<p>There are two approaches to include Shiro Jakarta EE dependencies in your
project:</p>
+</div>
+<div class="sect3">
+<h4 id="option_1_flowlogix_dependency_chain_recommended">Option 1: FlowLogix
Dependency Chain (Recommended)</h4>
+<div class="paragraph">
+<p>The simplest approach is to use the FlowLogix dependency chain, which
bundles all required Shiro Jakarta EE components in a single dependency:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="highlightjs highlight"><code class="language-xml hljs"
data-lang="xml"><dependencies>
+ <dependency>
+ <groupId>com.flowlogix.depchain</groupId>
+ <artifactId>shiro-jakarta</artifactId>
+ <version>11</version>
+ <type>pom</type>
+ </dependency>
+</dependencies></code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This approach automatically includes all Shiro modules
(<code>shiro-core</code>, <code>shiro-web</code>,
<code>shiro-jakarta-ee</code>, <code>shiro-cdi</code>,
<code>shiro-jaxrs</code>) with the correct Jakarta classifier, plus required
dependencies like OmniFaces. See the <a href="dependency-chain.html">Dependency
Chain Guide</a> for more details, Gradle examples, and migration
instructions.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="option_2_traditional_bom_with_individual_dependencies">Option 2:
Traditional BOM with Individual Dependencies</h4>
+<div class="paragraph">
+<p>Alternatively, use the Shiro artifacts with Jakarta classifiers
directly:</p>
</div>
<div class="listingblock">
<div class="content">
@@ -485,6 +511,7 @@ The module is compatible with Java EE 8 through Jakarta EE
10 or later. It may w
</div>
</div>
</div>
+</div>
<div class="sect1">
<h2 id="configuration">Configuration</h2>
<div class="sectionbody">
diff --git a/sitemap.xml b/sitemap.xml
index b5a1d6314..d32e4768d 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1,5 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
+ <url>
+ <loc>https://shiro.apache.org/dependency-chain.html</loc>
+ <lastmod>2026-01-03</lastmod>
+ </url>
<url>
<loc>https://shiro.apache.org/security-model.html</loc>
<lastmod>2026-01-03</lastmod>
@@ -16,22 +20,6 @@
<loc>https://shiro.apache.org/10-minute-tutorial.html</loc>
<lastmod>2016-10-23</lastmod>
</url>
- <url>
- <loc>https://shiro.apache.org/spring-xml.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
- <url>
- <loc>https://shiro.apache.org/java-annotations-list.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
- <url>
- <loc>https://shiro.apache.org/documentation.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
- <url>
- <loc>https://shiro.apache.org/cas.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
<url>
<loc>https://shiro.apache.org/what-is-shiro.html</loc>
<lastmod>2010-03-18</lastmod>
@@ -45,7 +33,7 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/caching.html</loc>
+ <loc>https://shiro.apache.org/cas.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -69,11 +57,7 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/cachemanager.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
- <url>
- <loc>https://shiro.apache.org/authorization.html</loc>
+ <loc>https://shiro.apache.org/caching.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -89,7 +73,11 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/authorization-features.html</loc>
+ <loc>https://shiro.apache.org/cachemanager.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
+ <url>
+ <loc>https://shiro.apache.org/authorization.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -101,7 +89,7 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/cryptography-features.html</loc>
+ <loc>https://shiro.apache.org/authorization-features.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -121,11 +109,7 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/core.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
- <url>
- <loc>https://shiro.apache.org/authentication.html</loc>
+ <loc>https://shiro.apache.org/cryptography-features.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -145,27 +129,27 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/tools.html</loc>
+ <loc>https://shiro.apache.org/core.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/securitymanager.html</loc>
+ <loc>https://shiro.apache.org/authentication.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/license.html</loc>
+ <loc>https://shiro.apache.org/tools.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/guice.html</loc>
+ <loc>https://shiro.apache.org/securitymanager.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/configuration.html</loc>
+ <loc>https://shiro.apache.org/license.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/authentication-features.html</loc>
+ <loc>https://shiro.apache.org/guice.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -185,7 +169,11 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/articles.html</loc>
+ <loc>https://shiro.apache.org/configuration.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
+ <url>
+ <loc>https://shiro.apache.org/authentication-features.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -201,7 +189,7 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/architecture.html</loc>
+ <loc>https://shiro.apache.org/articles.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -217,11 +205,7 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/community.html</loc>
- <lastmod>2010-03-18</lastmod>
- </url>
- <url>
- <loc>https://shiro.apache.org/adoption.html</loc>
+ <loc>https://shiro.apache.org/architecture.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -233,11 +217,11 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/commercial-support.html</loc>
+ <loc>https://shiro.apache.org/community.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/about.html</loc>
+ <loc>https://shiro.apache.org/adoption.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -257,7 +241,11 @@
<lastmod>2010-03-18</lastmod>
</url>
<url>
- <loc>https://shiro.apache.org/command-line-hasher.html</loc>
+ <loc>https://shiro.apache.org/commercial-support.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
+ <url>
+ <loc>https://shiro.apache.org/about.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
<url>
@@ -272,6 +260,22 @@
<loc>https://shiro.apache.org/java-annotations.html</loc>
<lastmod>2010-03-18</lastmod>
</url>
+ <url>
+ <loc>https://shiro.apache.org/command-line-hasher.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
+ <url>
+ <loc>https://shiro.apache.org/spring-xml.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
+ <url>
+ <loc>https://shiro.apache.org/java-annotations-list.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
+ <url>
+ <loc>https://shiro.apache.org/documentation.html</loc>
+ <lastmod>2010-03-18</lastmod>
+ </url>
<url>
<loc>https://shiro.apache.org/blog/2025/11/apache-shiro-206-released.html</loc>
<lastmod>2025-11-07</lastmod>
diff --git a/web.html b/web.html
index 3cae5dacb..2a0bf606a 100644
--- a/web.html
+++ b/web.html
@@ -1002,6 +1002,20 @@ invalidRequest.blockNonAscii = true
<div class="paragraph">
<p>This is commonly used with <code>authcBasic</code> (Basic Auth) or
<code>authcBearer</code> (Bearer Token / JWT).</p>
</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="paragraph">
+<p>this feature is only available in Shiro 2.0.7 or later</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
<div class="listingblock">
<div class="content">
<pre class="highlightjs highlight"><code class="language-ini hljs"
data-lang="ini">[main]