ShiroFilterFactoryBean 'filterChainDefinitions' property does not retain URL
path matching order
------------------------------------------------------------------------------------------------
Key: SHIRO-184
URL: https://issues.apache.org/jira/browse/SHIRO-184
Project: Shiro
Issue Type: Bug
Components: Integration: Spring
Affects Versions: 1.0.0
Reporter: Les Hazlewood
Fix For: 1.0.1
Workaround until the next point release: use the 'filterChainDefinitionMap'
property instead - it does retain correct path matching order.
The problem: the current 'setFilterChainDefinitions' implementation uses a
java.util.Properties object to load the text block into key/value pairs.
Unlike a LinkedHashMap, Properties do not retain definition order. For
example, the following chain definitions would fail:
/ = anon
/UIDL/ = anon
/** authc
In a simple test, the pattern matcher first evaluated a /UIDL/ request against
/, which didn't match. It then tried to match the request against /** which
did match. However, this is incorrect behavior, because there is a /UIDL/
chain defined which was never matched, resulting in a denied request, even
though there is a validly defined (and ordered) pattern for it.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.