0

我升级到最新版本的 Spring Security 4.0.2,出现以下错误

java.lang.NullPointerException
at org.granite.messaging.amf.io.AMF0Serializer.serializeMessage(AMF0Serializer.java:113)
at org.granite.messaging.webapp.AMFMessageFilter.doAMFFilter(AMFMessageFilter.java:153)
at org.granite.messaging.webapp.AMFMessageFilter.doFilter(AMFMessageFilter.java:103)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:744)

我正在使用 GraniteDS 3.1.1.GA、Spring 4.2 并且我的 granite-config.xml 文件有

<security type="org.granite.spring.security.SpringSecurity3Service"/>

我可以看到它里面有专门的 Spring3,但不知道如何解决这个问题。

4

1 回答 1

0

在 spring security 4 csrf 中默认启用,这导致了这个问题!禁用它可以解决问题。就像是:

<http pattern="/graniteamf/**" etc.. >
    <intercept-url pattern="/graniteamf/**" />
    <csrf disabled="true"/>
</http>
于 2016-03-03T22:03:05.997 回答