【发布时间】:2011-10-19 11:19:12
【问题描述】:
我在使用 Spring HTTP 消息转换时遇到了一些问题。在我的应用程序中,我有登录表单。 当注册用户尝试登录时,他收到登录错误(重定向到 /login?login_error=1) 实际输入的用户名是 ¡¢£¤¥¦§¨©ª«¬®¯°±²³
请求内容是 http://bit.ly/oCmwwP
UsernamePasswordAuthenticationFilter 获取错误编码的用户名作为输入参数。
例如,预期的用户名(编码为¡¢£¤¥¦§¨©ª«¬®¯°±²³)是 %C2%A1%C2%A2%C2%A3%C2%A4%C2%A5%C2%A6%C2%A7%C2%A8%C2%A9%C2%AA%C2%AB%C2%AC%C2 %AD%C2%AE%C2%AF%C2%B0%C2%B1%C2%B2%C2%B3
但实际输入的数据是 A?A?A?A¤A?A¦A§A?A©A?A«A¬AA®A?A°A±A?A?
您也可以在调试器屏幕截图中看到它 http://bit.ly/qIWFLj
我认为问题可能出在“application/x-www-form-urlencoded”内容的 Spring 消息转换器上。 我找不到哪个转换器对输入数据进行了这种转换。
我使用的是 Apache Tomcat 版本 6.0.26。
web.xml - bit.ly/ph0t7j
感谢您的宝贵时间。非常感谢您的帮助
【问题讨论】:
-
看看这个答案可能会有所帮助:stackoverflow.com/questions/6638284/…
标签: java spring http jakarta-ee spring-mvc