[ 
https://issues.apache.org/jira/browse/SHIRO-826?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17383267#comment-17383267
 ] 

Benjamin Marwell commented on SHIRO-826:
----------------------------------------

Hi [~sgessner] ,

I see two requests:
{code:java}
0:0:0:0:0:0:0:1 - - [19/Jul/2021:10:27:04 +0200] "GET 
/avviso/rest/inspektor/verjaehrungs-agent/profile/TEST%20%C3%B6?forwardURI=%2Finspektor%2Fverjaehrungs-agent.action%23
 HTTP/1.1" 400 800
0:0:0:0:0:0:0:1 - - [19/Jul/2021:10:27:08 +0200] "GET 
/avviso/rest/inspektor/verjaehrungs-agent/profile/Test%20123?forwardURI=%2Finspektor%2Fverjaehrungs-agent.action%23
 HTTP/1.1" 200 476{code}
The first one will not match because of the uppercase *TEST*. It will therfore 
go into your catchall filter:
{code:java}
19 Jul 2021 10:25:45 DEBUG [main] o.a.s.w.f.m.DefaultFilterChainManager:142 - 
Creating chain [/**] with global filters [invalidRequest] and from String 
definition [user]
19 Jul 2021 10:25:45 DEBUG [main] o.a.s.w.f.m.DefaultFilterChainManager:313 - 
Attempting to apply path [/**] to filter [invalidRequest] with config [null]
19 Jul 2021 10:25:45 DEBUG [main] o.a.s.w.f.m.DefaultFilterChainManager:313 - 
Attempting to apply path [/**] to filter [user] with config [null] {code}
So from what I see here, this works as expected.

> HTTP 400 with encoded umlauts in URL
> ------------------------------------
>
>                 Key: SHIRO-826
>                 URL: https://issues.apache.org/jira/browse/SHIRO-826
>             Project: Shiro
>          Issue Type: Bug
>    Affects Versions: 1.7.1
>            Reporter: Sita Geßner
>            Priority: Major
>         Attachments: debug.log, error-request-with-umlauts.png, 
> localhost_access_log.2021-07-19.txt, success-request-without-umlauts.png
>
>
> I've updated shiro from version 1.4.2 to 1.7.1.
>  
> I have an rest-endpoint with an Pathvariable:
> {code:java}
> @RestController
> @RequestMapping(value = "/inspektor/verjaehrungs-agent")
> @Slf4j
> public class MyRestController    
>     @GetMapping("/profile/{name}")
>     public Profile getProfile(@PathVariable final String name) {
>         return service.getProfile(name);
>     }
> {code}
> When requesting with the Pathvariable name "Test 123" everything works fine. 
> When requesting with the Pathvariable name "Test ö" I'm getting an HTTP 400.
> This error occurs also, when I encode the Pathvariable to "TEST%20%C3%B6".
>  
> Before the update, everything was fine.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to