SpringSecurity安全验证中文乱码问题
生活随笔
收集整理的這篇文章主要介紹了
SpringSecurity安全验证中文乱码问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
使用SpringSecurity做安全驗證時發(fā)現(xiàn)form表單中提交中文名會出現(xiàn)亂碼問題。
原因是因為我在web.xml配置文件中將springSecurityFilterChain攔截器放在了
characterEncodingFilter前面,導致會先加載springSecurityFilterChain攔截器
再加載characterEncodingFilter攔截器,而加載springSecurityFilterChain攔截器
時會自動加載CsrfFilter攔截器,這個攔截器會給所有的請求增加一個名為CSRF Token
的請求頭,這個請求頭會將編碼設定為iso-8859-1且無法修改,故而characterEncodingFilter
就失去了它原本的作用。
解決方法:將characterEncodingFilter配置放在springSecurityFilterChain前面就可以了
<!-- 解決中文亂碼過濾器 --><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!--配置spring-security的filter--><filter><filter-name>springSecurityFilterChain</filter-name><filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class></filter><filter-mapping><filter-name>springSecurityFilterChain</filter-name><url-pattern>/*</url-pattern></filter-mapping>
總結
以上是生活随笔為你收集整理的SpringSecurity安全验证中文乱码问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Bad credentials异常
- 下一篇: GeneratorSqlMapCusto