This is an automated email from the ASF dual-hosted git repository.

lprimak pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shiro-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 2bd136125 bugfix: fixed javadoc links
2bd136125 is described below

commit 2bd13612594d318b0ba9d356d84598e10badfcd9
Author: lprimak <[email protected]>
AuthorDate: Sun Aug 25 15:40:28 2024 -0500

    bugfix: fixed javadoc links
---
 src/site/assets/.htaccess             |  4 +++
 src/site/content/architecture.adoc    |  4 +--
 src/site/content/cachemanager.adoc    |  8 +++---
 src/site/content/caching.adoc         | 10 +++----
 src/site/content/testing.adoc         |  2 +-
 src/site/content/web.adoc             | 50 +++++++++++++++++------------------
 src/site/content/webapp-tutorial.adoc |  6 ++---
 7 files changed, 44 insertions(+), 40 deletions(-)

diff --git a/src/site/assets/.htaccess b/src/site/assets/.htaccess
index 9fb5c740e..3ecc52d2c 100644
--- a/src/site/assets/.htaccess
+++ b/src/site/assets/.htaccess
@@ -51,6 +51,10 @@ RedirectMatch /static/(.*)/tools/apidocs/(.*) 
/static/$1/shiro-tools/$2
 RedirectMatch /static/1.1.0(.*) /static/current$1
 RedirectMatch /static/1.0.0-incubating(.*) /static/current$1
 
+# Rediect Javadoc
+RedirectMatch /static/current/apidocs/shiro-(.*)/(.*) 
https://javadoc.io/doc/org.apache.shiro/shiro-$1/latest/$2
+RedirectMatch /static/current/apidocs/(.*) 
https://javadoc.io/doc/org.apache.shiro/shiro-core/latest/$1
+
 # latest
 RedirectMatch /static/current(.*) /static/2.0.0$1
 RedirectMatch /static/latest(.*) /static/2.0.0$1
diff --git a/src/site/content/architecture.adoc 
b/src/site/content/architecture.adoc
index 964217799..f20d37f0f 100644
--- a/src/site/content/architecture.adoc
+++ b/src/site/content/architecture.adoc
@@ -58,10 +58,10 @@ The `SessionManager` knows how to create and manage user 
`Session` lifecycles to
 ** *SessionDAO* 
(link:static/current/apidocs/org/apache/shiro/session/mgt/eis/SessionDAO.html[org.apache.shiro.session.mgt.eis.SessionDAO])
 The `SessionDAO` performs `Session` persistence (CRUD) operations on behalf of 
the `SessionManager`. This allows any data store to be plugged in to the 
Session Management infrastructure.
 
-* *CacheManager* 
(link:static/current/apidocs/org/apache/shiro/cache/CacheManager.html[org.apache.shiro.cache.CacheManager])
+* *CacheManager* 
(link:static/current/apidocs/shiro-cache/org/apache/shiro/cache/CacheManager.html[org.apache.shiro.cache.CacheManager])
 The `CacheManager` creates and manages `Cache` instance lifecycles used by 
other Shiro components. Because Shiro can access many back-end data sources for 
authentication, authorization and session management, caching has always been a 
first-class architectural feature in the framework to improve performance while 
using these data sources. Any of the modern open-source and/or enterprise 
caching products can be plugged in to Shiro to provide a fast and efficient 
user-experience.
 
-* *Cryptography* 
(link:static/current/apidocs/org/apache/shiro/crypto/package-summary.html[org.apache.shiro.crypto.*])
+* *Cryptography* 
(link:static/current/apidocs/shiro-crypto-cipher/org/apache/shiro/crypto/cipher/package-summary.html[org.apache.shiro.crypto.cipher.*])
 Cryptography is a natural addition to an enterprise security framework. 
Shiro's `crypto` package contains easy-to-use and understand representations of 
crytographic Ciphers, Hashes (aka digests) and different codec implementations. 
All the classes in this package are carefully designed to be very easy to use 
and easy to understand. Anyone who has used Java's native cryptography support 
knows it can be a challenging animal to tame. Shiro's crypto APIs simplify the 
complicated Java mechani [...]
 
 * *Realms* 
(link:static/current/apidocs/org/apache/shiro/realm/Realm.html[org.apache.shiro.realm.Realm])
diff --git a/src/site/content/cachemanager.adoc 
b/src/site/content/cachemanager.adoc
index 0aac1efc8..7dba1e2e6 100644
--- a/src/site/content/cachemanager.adoc
+++ b/src/site/content/cachemanager.adoc
@@ -9,9 +9,9 @@
 
 Shiro has three important cache interfaces:
 
-* 
link:static/current/apidocs/org/apache/shiro/cache/CacheManager.html[`+CacheManager+`]
-* link:static/current/apidocs/org/apache/shiro/cache/Cache.html[`+Cache+`]
-* 
link:static/current/apidocs/org/apache/shiro/cache/CacheManagerAware.html[`+CacheManagerAware+`]
+* 
link:static/current/apidocs/shiro-cache/org/apache/shiro/cache/CacheManager.html[`+CacheManager+`]
+* 
link:static/current/apidocs/shiro-cache/org/apache/shiro/cache/Cache.html[`+Cache+`]
+* 
link:static/current/apidocs/shiro-cache/org/apache/shiro/cache/CacheManagerAware.html[`+CacheManagerAware+`]
 
 A `+CacheManager+` returns `+Cache+` instances and various Shiro components 
use those `+Cache<+` instances to cache data as necessary.
 Any Shiro component that implements `+CacheManager+` will automatically 
receive a configured `+CacheManager+`, where it can be used to acquire 
`+Cache+` instances.
@@ -33,7 +33,7 @@ securityManager.cacheManager = $cacheManager
 # realms have been set with the cacheManager instance
 ----
 
-We have an out-of-the-box 
link:static/current/apidocs/org/apache/shiro/cache/ehcache/EhCacheManager.html[`+EhCacheManager+`]
 implementation, so you can use that today if you wanted.
+We have an out-of-the-box 
link:static/current/apidocs/shiro-cache/org/apache/shiro/cache/ehcache/EhCacheManager.html[`+EhCacheManager+`]
 implementation, so you can use that today if you wanted.
 Otherwise, you can implement your own `+CacheManager+` (e.g. with Coherence, 
etc.) and configure it as above, and you’ll be good to go.
 
 == Authorization Cache Invalidation 
[[CacheManager-AuthorizationCacheInvalidation]]
diff --git a/src/site/content/caching.adoc b/src/site/content/caching.adoc
index 63094a876..5d7c1e185 100644
--- a/src/site/content/caching.adoc
+++ b/src/site/content/caching.adoc
@@ -21,12 +21,12 @@ end-user to configure any cache mechanism they prefer.
 
 Shiro has three important cache interfaces:
 
-* 
link:static/current/apidocs/org/apache/shiro/cache/CacheManager.html[`+CacheManager+`]
+* 
link:static/current/apidocs/shiro-cache/org/apache/shiro/cache/CacheManager.html[`+CacheManager+`]
 - The primary Manager component for all caching, it returns `+Cache+`
 instances.
-* link:static/current/apidocs/org/apache/shiro/cache/Cache.html[`+Cache+`]
+* 
link:static/current/apidocs/shiro-cache/org/apache/shiro/cache/Cache.html[`+Cache+`]
 - Maintains key/value pairs
-* 
link:static/current/apidocs/org/apache/shiro/cache/CacheManagerAware.html[`+CacheManagerAware+`]
+* 
link:static/current/apidocs/shiro-cache/org/apache/shiro/cache/CacheManagerAware.html[`+CacheManagerAware+`]
 - Implemented by components wishing to receive and use a CacheManager
 instance
 
@@ -67,12 +67,12 @@ own.
 === `+MemoryConstrainedCacheManager+`
 
 The
-link:static/current/apidocs/org/apache/shiro/cache/MemoryConstrainedCacheManager.html[`+MemoryConstrainedCacheManager+`]
+link:static/current/apidocs/shiro-cache/org/apache/shiro/cache/MemoryConstrainedCacheManager.html[`+MemoryConstrainedCacheManager+`]
 is a `+CacheManager+` implementation suitable for single-JVM production
 environments.
 It is not clustered/distributed, so if your application spans across more than 
one JVM (e.g. web app running on multiple web servers), and you want cache 
entries to be accessible across JVMs, you will need to use a distributed cache 
implement instead.
 
-The `+MemoryConstrainedCacheManager+` manages 
link:static/current/apidocs/org/apache/shiro/cache/MapCache.html[`+MapCache+`] 
instances, one `+MapCache+` instance per named cache.
+The `+MemoryConstrainedCacheManager+` manages 
link:static/current/apidocs/shiro-cache/org/apache/shiro/cache/MapCache.html[`+MapCache+`]
 instances, one `+MapCache+` instance per named cache.
 Each `+MapCache+` instance is backed by a Shiro 
link:static/current/apidocs/org/apache/shiro/util/SoftHashMap.html[`+SoftHashMap+`]
 which can auto-resize itself based on an application’s runtime memory 
constraints/needs (by leveraging JDK 
https://docs.oracle.com/javase/7/docs/api/java/lang/ref/SoftReference.html[`+SoftReference+`]
 instances).
 
 Because the `+MemoryConstrainedCacheManager+` can auto-resize itself
diff --git a/src/site/content/testing.adoc b/src/site/content/testing.adoc
index 5bce7be56..9dc3e3938 100644
--- a/src/site/content/testing.adoc
+++ b/src/site/content/testing.adoc
@@ -21,7 +21,7 @@ This means three basic things must always occur in order to 
support being able t
 . The `Subject` instance must be _bound_ to the currently executing thread.
 . After the thread is finished executing (or if the thread's execution results 
in a `Throwable`), the `Subject` must be _unbound_ to ensure that the thread 
remains 'clean' in any thread-pooled environment.
 
-Shiro has architectural components that perform this bind/unbind logic 
automatically for a running application. For example, in a web application, the 
root Shiro Filter performs this logic when 
link:++https://shiro.apache.org/static/current/apidocs/org/apache/shiro/web/servlet/AbstractShiroFilter.html#doFilterInternal(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)++[filtering
 a request]. But as test environments and frameworks differ, we need to per 
[...]
+Shiro has architectural components that perform this bind/unbind logic 
automatically for a running application. For example, in a web application, the 
root Shiro Filter performs this logic when 
link:++https://shiro.apache.org/static/current/apidocs/shiro-web/org/apache/shiro/web/servlet/AbstractShiroFilter.html#doFilterInternal(javax.servlet.ServletRequest,javax.servlet.ServletResponse,javax.servlet.FilterChain)++[filtering
 a request]. But as test environments and frameworks differ, we n [...]
 
 [#Testing-TestSetup]
 == Test Setup
diff --git a/src/site/content/web.adoc b/src/site/content/web.adoc
index d9a98b075..c7e72e8e7 100644
--- a/src/site/content/web.adoc
+++ b/src/site/content/web.adoc
@@ -312,7 +312,7 @@ Finally, each filter is free to handle the response however 
it wants if its nece
 ====
 Being able to react to path specific configuration, i.e. the 
`[optional_configN]` part of a filter token, is a unique feature available to 
Shiro filters.
 
-If you want to create your own `javax.servlet.Filter` implementation that can 
also do this, make sure your filter subclasses 
link:static/current/apidocs/org/apache/shiro/web/filter/PathMatchingFilter.html[org.apache.shiro.web.filter.PathMatchingFilter].
+If you want to create your own `javax.servlet.Filter` implementation that can 
also do this, make sure your filter subclasses 
link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/PathMatchingFilter.html[org.apache.shiro.web.filter.PathMatchingFilter].
 ====
 
 ===== Available Filters
@@ -355,24 +355,24 @@ authc.loginUrl = /login.jsp
 ...
 ----
 
-The default Filter instances available automatically are defined by the 
link:static/current/apidocs/org/apache/shiro/web/filter/mgt/DefaultFilter.html[DefaultFilter
 enum] and the enum's `name` field is the name available for configuration. 
They are:
+The default Filter instances available automatically are defined by the 
link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/mgt/DefaultFilter.html[DefaultFilter
 enum] and the enum's `name` field is the name available for configuration. 
They are:
 
 |===
 |Filter Name |Class 
 
-|anon 
|link:static/current/apidocs/org/apache/shiro/web/filter/authc/AnonymousFilter.html[org.apache.shiro.web.filter.authc.AnonymousFilter]
 
-|authc 
|link:static/current/apidocs/org/apache/shiro/web/filter/authc/FormAuthenticationFilter.html[org.apache.shiro.web.filter.authc.FormAuthenticationFilter]
 
-|authcBasic 
|link:static/current/apidocs/org/apache/shiro/web/filter/authc/BasicHttpAuthenticationFilter.html[org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter]
 
-|authcBearer 
|link:static/current/apidocs/org/apache/shiro/web/filter/authc/BearerHttpAuthenticationFilter.html[org.apache.shiro.web.filter.authc.BearerHttpAuthenticationFilter]
 
-|invalidRequest 
|link:static/current/apidocs/org/apache/shiro/web/filter/InvalidRequestFilter.html[org.apache.shiro.web.filter.InvalidRequestFilter]
 
-|logout 
|link:static/current/apidocs/org/apache/shiro/web/filter/authc/LogoutFilter.html[org.apache.shiro.web.filter.authc.LogoutFilter]
 
-|noSessionCreation 
|link:static/current/apidocs/org/apache/shiro/web/filter/session/NoSessionCreationFilter.html[org.apache.shiro.web.filter.session.NoSessionCreationFilter]
 
-|perms 
|link:static/current/apidocs/org/apache/shiro/web/filter/authz/PermissionsAuthorizationFilter.html[org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter]
 
-|port 
|link:static/current/apidocs/org/apache/shiro/web/filter/authz/PortFilter.html[org.apache.shiro.web.filter.authz.PortFilter]
 
-|rest 
|link:static/current/apidocs/org/apache/shiro/web/filter/authz/HttpMethodPermissionFilter.html[org.apache.shiro.web.filter.authz.HttpMethodPermissionFilter]
 
-|roles 
|link:static/current/apidocs/org/apache/shiro/web/filter/authz/RolesAuthorizationFilter.html[org.apache.shiro.web.filter.authz.RolesAuthorizationFilter]
 
-|ssl 
|link:static/current/apidocs/org/apache/shiro/web/filter/authz/SslFilter.html[org.apache.shiro.web.filter.authz.SslFilter]
 
-|user 
|link:static/current/apidocs/org/apache/shiro/web/filter/authc/UserFilter.html[org.apache.shiro.web.filter.authc.UserFilter]
 
+|anon 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authc/AnonymousFilter.html[org.apache.shiro.web.filter.authc.AnonymousFilter]
+|authc 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authc/FormAuthenticationFilter.html[org.apache.shiro.web.filter.authc.FormAuthenticationFilter]
+|authcBasic 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authc/BasicHttpAuthenticationFilter.html[org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter]
+|authcBearer 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authc/BearerHttpAuthenticationFilter.html[org.apache.shiro.web.filter.authc.BearerHttpAuthenticationFilter]
+|invalidRequest 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/InvalidRequestFilter.html[org.apache.shiro.web.filter.InvalidRequestFilter]
+|logout 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authc/LogoutFilter.html[org.apache.shiro.web.filter.authc.LogoutFilter]
+|noSessionCreation 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/session/NoSessionCreationFilter.html[org.apache.shiro.web.filter.session.NoSessionCreationFilter]
+|perms 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authz/PermissionsAuthorizationFilter.html[org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter]
+|port 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authz/PortFilter.html[org.apache.shiro.web.filter.authz.PortFilter]
+|rest 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authz/HttpMethodPermissionFilter.html[org.apache.shiro.web.filter.authz.HttpMethodPermissionFilter]
+|roles 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authz/RolesAuthorizationFilter.html[org.apache.shiro.web.filter.authz.RolesAuthorizationFilter]
+|ssl 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authz/SslFilter.html[org.apache.shiro.web.filter.authz.SslFilter]
+|user 
|link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authc/UserFilter.html[org.apache.shiro.web.filter.authc.UserFilter]
 |===
 
 == Enabling and Disabling Filters
@@ -383,13 +383,13 @@ But a new feature added in Shiro 1.2 is the ability to 
enable or disable filters
 
 This is a powerful concept because it is often more convenient to enable or 
disable a filter based on certain requirements than to change the static filter 
chain definition, which would be permanent and inflexible.
 
-Shiro accomplishes this via its 
link:static/current/apidocs/org/apache/shiro/web/servlet/OncePerRequestFilter.html[OncePerRequestFilter]
 abstract parent class. All of Shiro's out-of-the-box Filter implementations 
subclass this one and therefore are able to be enabled or disabled without 
removing them from the filter chain. You can subclass this class for your own 
filter implementations if you need this functionality as well*.
+Shiro accomplishes this via its 
link:static/current/apidocs/shiro-web/org/apache/shiro/web/servlet/OncePerRequestFilter.html[OncePerRequestFilter]
 abstract parent class. All of Shiro's out-of-the-box Filter implementations 
subclass this one and therefore are able to be enabled or disabled without 
removing them from the filter chain. You can subclass this class for your own 
filter implementations if you need this functionality as well*.
 
 *https://issues.apache.org/jira/browse/SHIRO-224[SHIRO-224] will hopefully 
enable this feature for any filter, not just those subclassing 
`OncePerRequestFilter`. If this is important to you, please vote for the issue.
 
 === General Enabling/Disabling
 
-The 
link:static/current/apidocs/org/apache/shiro/web/servlet/OncePerRequestFilter.html[OncePerRequestFilter]
 (and all of its subclasses) supports enabling/disabling across all requests as 
well as on a per-request basis.
+The 
link:static/current/apidocs/shiro-web/org/apache/shiro/web/servlet/OncePerRequestFilter.html[OncePerRequestFilter]
 (and all of its subclasses) supports enabling/disabling across all requests as 
well as on a per-request basis.
 
 General enabling or disabling of a filter for all requests is done by setting 
its `enabled` property to true or false. The default setting is `true` since 
most filters inherently need to execute if they are configured in a chain.
 
@@ -419,7 +419,7 @@ This method defaults to returning the value of the 
`enabled` property, which is
 
 === Path-specific Enabling/Disabling
 
-Shiro's 
link:static/current/apidocs/org/apache/shiro/web/filter/PathMatchingFilter.html[PathMatchingFilter]
 (a subclass of `OncePerRequestFilter` has the ability to react to 
configuration based on a _specific path_ being filtered. This means you can 
enable or disable a filter based on the path and the path-specific 
configuration in addition to the incoming request and response.
+Shiro's 
link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/PathMatchingFilter.html[PathMatchingFilter]
 (a subclass of `OncePerRequestFilter` has the ability to react to 
configuration based on a _specific path_ being filtered. This means you can 
enable or disable a filter based on the path and the path-specific 
configuration in addition to the incoming request and response.
 
 If you need to be able to react to the matching path and the path-specific 
configuration to determine if a filter is enabled or disabled, instead of 
overriding `OncePerRequestFilter` `isEnabled(request,response)` method, you 
would override the `PathMatchingFilter` 
`isEnabled(request,response,path,pathConfig)` method instead.
 
@@ -470,7 +470,7 @@ URL rewriting for `jsessionid` is defined in section 
"7.1.3" of the Java Servlet
 
 === HTTP Strict Transport Security (HSTS)
 
-The 
link:static/current/apidocs/org/apache/shiro/web/filter/authz/SslFilter.html[SslFilter]
 (and all of its subclasses) supports enabling/disabling HTTP Strict Transport 
Security (HSTS).
+The 
link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authz/SslFilter.html[SslFilter]
 (and all of its subclasses) supports enabling/disabling HTTP Strict Transport 
Security (HSTS).
 
 For example, in shiro.ini:
 
@@ -523,7 +523,7 @@ The word 'Native' here means that Shiro's own enterprise 
session management impl
 
 ==== `DefaultWebSessionManager`
 
-To enable native session management for your web application, you will need to 
configure a native web-capable session manager to override the default servlet 
container-based one. You can do that by configuring an instance of 
link:static/current/apidocs/org/apache/shiro/web/session/mgt/DefaultWebSessionManager.html[`DefaultWebSessionManager`]
 on Shiro's `SecurityManager`. For example, in `shiro.ini`:
+To enable native session management for your web application, you will need to 
configure a native web-capable session manager to override the default servlet 
container-based one. You can do that by configuring an instance of 
link:static/current/apidocs/shiro-web/org/apache/shiro/web/session/mgt/DefaultWebSessionManager.html[`DefaultWebSessionManager`]
 on Shiro's `SecurityManager`. For example, in `shiro.ini`:
 
 *shiro.ini native web session management*
 
@@ -549,7 +549,7 @@ After configuring the `DefaultWebSessionManager` instance, 
session timeout is co
 The `DefaultWebSessionManager` supports two web-specific configuration 
properties:
 
 * `sessionIdCookieEnabled` (a boolean)
-* `sessionIdCookie`, a 
link:static/current/apidocs/org/apache/shiro/web/servlet/Cookie.html[Cookie] 
instance.
+* `sessionIdCookie`, a 
link:static/current/apidocs/shiro-web/org/apache/shiro/web/servlet/Cookie.html[Cookie]
 instance.
 
 [INFO]
 .Cookie as a template
@@ -559,7 +559,7 @@ The `sessionIdCookie` property is essentially a template - 
you configure the `Co
 
 ====== Session Cookie Configuration
 
-The DefaultWebSessionManager's `sessionIdCookie` default instance is a 
link:static/current/apidocs/org/apache/shiro/web/servlet/SimpleCookie.html[`SimpleCookie`].
 This simple implementation allows JavaBeans-style property configuration for 
all the relevant properties you would want to configure on an http Cookie.
+The DefaultWebSessionManager's `sessionIdCookie` default instance is a 
link:static/current/apidocs/shiro-web/org/apache/shiro/web/servlet/SimpleCookie.html[`SimpleCookie`].
 This simple implementation allows JavaBeans-style property configuration for 
all the relevant properties you would want to configure on an http Cookie.
 
 For example, you could set the Cookie domain:
 
@@ -570,7 +570,7 @@ For example, you could set the Cookie domain:
 securityManager.sessionManager.sessionIdCookie.domain = foo.com
 ----
 
-See the 
link:static/current/apidocs/org/apache/shiro/web/servlet/SimpleCookie.html[SimpleCookie
 JavaDoc] for additional properties.
+See the 
link:static/current/shiro-web/apidocs/org/apache/shiro/web/servlet/SimpleCookie.html[SimpleCookie
 JavaDoc] for additional properties.
 
 The cookie's default name is `JSESSIONID` in accordance with the servlet 
specification. Additionally, Shiro's cookie supports the 
https://en.wikipedia.org/wiki/HTTP_cookie#HttpOnly_cookie[`HttpOnly`] and 
https://en.wikipedia.org/wiki/HTTP_cookie#Same-site_cookie[`SameSite`] flags. 
The `sessionIdCookie` sets `HttpOnly` to `true` and `SameSite` to `LAX` by 
default for extra security.
 
@@ -626,7 +626,7 @@ SecurityUtils.getSubject().login(token);
 
 === Form-based Login
 
-For web applications, the `authc` filter is by default a 
link:static/current/apidocs/org/apache/shiro/web/filter/authc/FormAuthenticationFilter.html[`FormAuthenticationFilter`].
 This supports reading the 'rememberMe' boolean as a form/request parameter. By 
default, it expects the request param to be named `rememberMe`. Here is an 
example shiro.ini config supporting this:
+For web applications, the `authc` filter is by default a 
link:static/current/apidocs/shiro-web/org/apache/shiro/web/filter/authc/FormAuthenticationFilter.html[`FormAuthenticationFilter`].
 This supports reading the 'rememberMe' boolean as a form/request parameter. By 
default, it expects the request param to be named `rememberMe`. Here is an 
example shiro.ini config supporting this:
 
 [source,ini]
 ----
@@ -680,7 +680,7 @@ securityManager.rememberMeManager.cookie.maxAge = blah
 ...
 ----
 
-See the 
link:static/current/apidocs/org/apache/shiro/web/mgt/CookieRememberMeManager.html[`CookieRememberMeManager`]
 and the supporting 
link:static/current/apidocs/src-html/org/apache/shiro/web/servlet/SimpleCookie.html[`SimpleCookie`]
 JavaDoc for configuration properties.
+See the 
link:static/current/apidocs/shiro-web/org/apache/shiro/web/mgt/CookieRememberMeManager.html[`CookieRememberMeManager`]
 and the supporting 
link:static/current/apidocs/src-html/org/apache/shiro/web/servlet/SimpleCookie.html[`SimpleCookie`]
 JavaDoc for configuration properties.
 
 === Custom `RememberMeManager`
 
diff --git a/src/site/content/webapp-tutorial.adoc 
b/src/site/content/webapp-tutorial.adoc
index 52af113cb..5c12dcbb3 100644
--- a/src/site/content/webapp-tutorial.adoc
+++ b/src/site/content/webapp-tutorial.adoc
@@ -468,7 +468,7 @@ shiro.loginUrl = /login.jsp
 
 This is a special configuration directive that tells Shiro "For any of Shiro's 
https://shiro.apache.org/web.html#Web-DefaultFilters[default filters] that have 
a `loginUrl` property, I want that property value to be set to `/login.jsp`."
 
-This allows Shiro's default `authc` filter (by default, a 
https://shiro.apache.org/static/current/apidocs/org/apache/shiro/web/filter/authc/FormAuthenticationFilter.html[`FormAuthenticationFilter`])
 to know about the login page. This is necessary for the 
`FormAuthenticationFilter` to work correctly.
+This allows Shiro's default `authc` filter (by default, a 
https://shiro.apache.org/static/current/apidocs/web/org/apache/shiro/web/filter/authc/FormAuthenticationFilter.html[`FormAuthenticationFilter`])
 to know about the login page. This is necessary for the 
`FormAuthenticationFilter` to work correctly.
 
 ==== The `[urls]` section
 
@@ -502,7 +502,7 @@ The `step3` branch contains a new 
`src/main/webapp/login.jsp` page. This is a si
 . There is a `password` form field. The Shiro `authc` filter will 
automatically look for a `password` request parameter during login submission.
 . There is a `rememberMe` checkbox whose 'checked' state can be a 'truthy' 
value (`true`, `t`, `1`, `enabled`, `y`, `yes`, or `on`).
 
-Our login.jsp form just uses the default `username`, `password`, and 
`rememberMe` form field names. These names are configurable if you wish to 
change them - see the 
https://shiro.apache.org/static/current/apidocs/org/apache/shiro/web/filter/authc/FormAuthenticationFilter.html[`FormAuthenticationFilter`
 JavaDoc] for information.
+Our login.jsp form just uses the default `username`, `password`, and 
`rememberMe` form field names. These names are configurable if you wish to 
change them - see the 
https://shiro.apache.org/static/current/apidocs/web/org/apache/shiro/web/filter/authc/FormAuthenticationFilter.html[`FormAuthenticationFilter`
 JavaDoc] for information.
 
 === Step 3c: Run the webapp
 
@@ -761,7 +761,7 @@ The `&lt;shiro:lacksRole&gt;` tag will only display the 
contents if the current
 
 An exercise left to the reader (not a defined step) is to create a new section 
of the website and restrict URL access to that section of the website based on 
what role is assigned to the current user.
 
-Hint: Create a 
https://shiro.apache.org/web.html#Web-FilterChainDefinitions[filter chain 
definition] for that new part of the webapp using the 
https://shiro.apache.org/static/current/apidocs/org/apache/shiro/web/filter/authz/RolesAuthorizationFilter.html[`roles`
 filter]
+Hint: Create a 
https://shiro.apache.org/web.html#Web-FilterChainDefinitions[filter chain 
definition] for that new part of the webapp using the 
https://shiro.apache.org/static/current/apidocs/web/org/apache/shiro/web/filter/authz/RolesAuthorizationFilter.html[`roles`
 filter]
 
 === Step 6d: Run the webapp
 

Reply via email to