Commit 1c6f2af4 authored by Andy Wilkinson's avatar Andy Wilkinson

Clarify how to configure a Filter's order

Closes gh-18266
parent 69a95ce5
...@@ -2676,7 +2676,10 @@ Here are a few examples of Filters and their respective order (lower order value ...@@ -2676,7 +2676,10 @@ Here are a few examples of Filters and their respective order (lower order value
It is usually safe to leave Filter beans unordered. It is usually safe to leave Filter beans unordered.
If a specific order is required, you should avoid configuring a Filter that reads the request body at `Ordered.HIGHEST_PRECEDENCE`, since it might go against the character encoding configuration of your application. If a specific order is required, you should annotate the `Filter` with `@Order` or make it implement `Ordered`.
You cannot configure the order of a `Filter` by annotating its bean method with `@Order`.
If you cannot change the `Filter` class to add `@Order` or implement `Ordered`, you must define a `FilterRegistrationBean` for the `Filter` and set the registration bean's order using the `setOrder(int)` method.
Avoid configuring a Filter that reads the request body at `Ordered.HIGHEST_PRECEDENCE`, since it might go against the character encoding configuration of your application.
If a Servlet filter wraps the request, it should be configured with an order that is less than or equal to `OrderedFilter.REQUEST_WRAPPER_FILTER_MAX_ORDER`. If a Servlet filter wraps the request, it should be configured with an order that is less than or equal to `OrderedFilter.REQUEST_WRAPPER_FILTER_MAX_ORDER`.
WARNING: Take care when registering `Filter` beans since they are initialized very early in the application lifectyle. WARNING: Take care when registering `Filter` beans since they are initialized very early in the application lifectyle.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment