Skip to content

Commit

Permalink
bugfix: fixed javadoc links
Browse files Browse the repository at this point in the history
  • Loading branch information
lprimak committed Aug 25, 2024
1 parent 1a3e0f0 commit 2bd1361
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 40 deletions.
4 changes: 4 additions & 0 deletions src/site/assets/.htaccess
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 2 additions & 2 deletions src/site/content/architecture.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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 mechanisms and make cryptography easy to use for normal mortal human beings.

* *Realms* (link:static/current/apidocs/org/apache/shiro/realm/Realm.html[org.apache.shiro.realm.Realm])
Expand Down
8 changes: 4 additions & 4 deletions src/site/content/cachemanager.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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]]
Expand Down
10 changes: 5 additions & 5 deletions src/site/content/caching.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion src/site/content/testing.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -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 perform this bind/unbind logic ourselves for our chosen test framework.
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 need to perform this bind/unbind logic ourselves for our chosen test framework.

[#Testing-TestSetup]
== Test Setup
Expand Down
Loading

0 comments on commit 2bd1361

Please sign in to comment.