0.背景
wildfly部署war包的时候报这个错,这个错误指向了当时配置shiro反序列化漏洞时添加了一行代码:
<property name="cipherKey" value="#{T(com.xxx.xxx.shiro.GenerateCipherKey).generateNewKey()}"/>
这个代码是正常引用,想了很长时间没有想明白。后来终于不断尝试找到了疑似正确解法,才发现我犯了基础(愚蠢)的错误。
原来xml文件是这么写的
<bean id="remembermeManager" class="org.apache.shiro.web.mgt.CookieRememberMeManager"> <property name="cookie" ref="remembermeCookie"/> <property name="cipherKey" value="#{T(com.xxxx.xxx.shiro.GenerateCipherKey).generateNewKey()}"/> </bean>
然后改成下面这样:
<bean id="remembermeManager" class="org.apache.shiro.web.mgt.CookieRememberMeManager"> <property name="cipherKey" value="#{T(com.xxxx.xxx.shiro.GenerateCipherKey).generateNewKey()}"/> <property name="cookie" ref="remembermeCookie"/> </bean>
可以看出,只是换了顺序,就正常了。