Mark Hale created SHIRO-509:
-------------------------------

             Summary: WebUtils.decodeAndCleanUriString incorrectly handles 
matrix parameters
                 Key: SHIRO-509
                 URL: https://issues.apache.org/jira/browse/SHIRO-509
             Project: Shiro
          Issue Type: Bug
          Components: Web
    Affects Versions: 1.2.2
         Environment: Webapp deployment in Jetty
            Reporter: Mark Hale


If I config a web filter (say anon) for a path /**/public and make a request to 
/mystuff;filter=toys/prices/public the filter is not triggered because 
WebUtils.decodeAndCleanUriString() removes everything after the ';' (so it only 
tries to match on /mystuff). The fix is to change
        int semicolonIndex = uri.indexOf(';');
to
        int lastSlash = uri.lastIndexOf('/');
        int semicolonIndex = uri.lastIndexOf(';');
if(semicolonIndex > lastSlash) then drop trailing matrix params. So that matrix 
params in parent path segments are left intact.




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to