This is an automated email from the ASF dual-hosted git repository.
bdemers pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shiro-site.git
The following commit(s) were added to refs/heads/master by this push:
new 93a7c7d add note about global filters in web.html
93a7c7d is described below
commit 93a7c7d7f31651a34800d4f6fd3a1b63a38a772d
Author: Brian Demers <[email protected]>
AuthorDate: Mon Aug 17 12:57:43 2020 -0400
add note about global filters in web.html
---
web.md.vtl | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/web.md.vtl b/web.md.vtl
index 6ae849a..a98a94a 100644
--- a/web.md.vtl
+++ b/web.md.vtl
@@ -33,6 +33,7 @@ Apache Shiro Web Support
* [General Enabling/Disabling](#Web-GeneralEnabling%2FDisabling)
* [Request-specific
Enabling/Disabling](#Web-RequestspecificEnabling%2FDisabling)
* [Path-specific
Enabling/Disabling](#Web-PathspecificEnabling%2FDisabling)
+ * [Global Filters](#Web-globalFilters)
* [Session Management](#Web-SessionManagement)
@@ -395,6 +396,7 @@ The default Filter instances available automatically are
defined by the [Default
| authc |
[org.apache.shiro.web.filter.authc.FormAuthenticationFilter](static/current/apidocs/org/apache/shiro/web/filter/authc/FormAuthenticationFilter.html)
|
| authcBasic |
[org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter](static/current/apidocs/org/apache/shiro/web/filter/authc/BasicHttpAuthenticationFilter.html)
|
| authcBearer |
[org.apache.shiro.web.filter.authc.BearerHttpAuthenticationFilter](static/current/apidocs/org/apache/shiro/web/filter/authc/BearerHttpAuthenticationFilter.html)
|
+| invalidRequest |
[org.apache.shiro.web.filter.InvalidRequestFilter](static/current/apidocs/org/apache/shiro/web/filter/InvalidRequestFilter.html)
|
| logout |
[org.apache.shiro.web.filter.authc.LogoutFilter](static/current/apidocs/org/apache/shiro/web/filter/authc/LogoutFilter.html)
|
| noSessionCreation |
[org.apache.shiro.web.filter.session.NoSessionCreationFilter](static/current/apidocs/org/apache/shiro/web/filter/session/NoSessionCreationFilter.html)
|
| perms |
[org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter](static/current/apidocs/org/apache/shiro/web/filter/authz/PermissionsAuthorizationFilter.html)
|
@@ -456,6 +458,43 @@ Shiro's
[PathMatchingFilter](static/current/apidocs/org/apache/shiro/web/filter/
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.
+<a name="Web-globalFilters"></a>
+#[[###Global Filters]]#
+
+Starting with Shiro 1.6 the ability to define global filters has been added.
Adding "global filters" will add additional filters to ALL routes, this
includes previously configured filter chains as well as unconfigured paths.
+
+By default, the global filters contains the `invalidRequest` filter. This
filter blocks known malicious attacks, see below for configuration details.
+
+Global filters can be customized or disabled, for example
+
+``` ini
+[main]
+...
+# disable Global Filters
+filterChainResolver.globalFilters = null
+```
+
+Define the list of global filters:
+
+``` ini
+[main]
+...
+filterChainResolver.globalFilters = invalidRequest, port
+```
+
+The `invalidRequest` filter blocks requests with non-ascii characters,
semicolons, and backslashes, each of these can be disabled independently to
allow for backward compatibility.
+
+```ini
+[main]
+...
+invalidRequest.blockBackslash = true
+invalidRequest.blockSemicolon = true
+invalidRequest.blockNonAscii = true
+...
+```
+
+#info('Note', 'If you currently allowing URL rewriting to allow for a
<code>jsessionid</code> in the URL, you must set <code>blockSemicolon</code> to
<code>false</code>.<BR/><BR/>URL rewriting for <code>jsessionid</code> is
defined in section "7.1.3" of the Java Servlet Specification, but it is
generally NOT recommended.')
+
<a name="Web-sessionManagement"></a>
<a name="Web-SessionManagement"></a>
Session Management