Albert Choi created SHIRO-825:
---------------------------------
Summary: Trailing slash in URI results in
"IllegalArgumentException: There is no configured chain under the name/key"
Key: SHIRO-825
URL: https://issues.apache.org/jira/browse/SHIRO-825
Project: Shiro
Issue Type: Bug
Affects Versions: 1.7.1
Reporter: Albert Choi
We recently attempted to upgrade our Dropwizard-based project to 1.7.1 from
1.7.0. We immediately hit a failure in our end-to-end test suite.
The case is when the client sends a request URI with *trailing slash* and it
matches one of the patterns we defined in shiro.ini (the pattern does not have
a trailing slash).
The pattern is:
{code:java}
/api/models/*/etl/templates
{code}
The client URI is {{/api/models/1024831678847123456/etl/templates/}}
The error and stack trace in Shiro 1.7.1:
{noformat}
javax.servlet.ServletException: Filtered request failed.
at
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:384)
at
...
...
Caused by: java.lang.IllegalArgumentException: There is no configured chain
under the name/key [/api/models/1024831678847123456/etl/templates].
at
org.apache.shiro.web.filter.mgt.DefaultFilterChainManager.proxy(DefaultFilterChainManager.java:357)
at
org.apache.shiro.web.filter.mgt.PathMatchingFilterChainResolver.getChain(PathMatchingFilterChainResolver.java:129)
at
org.apache.shiro.web.servlet.AbstractShiroFilter.getExecutionChain(AbstractShiroFilter.java:416)
at
org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at
org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
at
org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
... 54 common frames omitted
{noformat}
There is no error if the client does not send the trailing slash in the URI.
There is also no error with Shiro 1.7.0.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)