Spring 安全性不适用于 Http11NioProtocol
Spring Security doesn't work with Http11NioProtocol
我正在修改一个应用程序以使用 Active Directory,使用 Spring 安全模型。在我的本地 Tomcat 7 安装上一切正常,但在我们的 UNIX 机器上它停止工作。
症状似乎表明 Spring 安全过滤器未被调用,但日志中没有异常或其他指示(带调试)。通过反复试验,我发现这是因为在 UNIX server.xml 安装中我有:
<Connector port="8083" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
proxyName="myproxy.com" scheme="http"
/>
而在我的本地安装中我有:
<Connector port="8083" protocol="HTTP/1.1"
connectionTimeout="20000"
proxyName="myproxy.com" scheme="http"
/>
连接器协议似乎是问题所在,如果我在 UNIX 上使用 HTTP/1.1 那么一切都很好。
所以我的问题是,我需要做什么才能让 Http11NioProtocol 正常工作?
Tomcat7.0.42
Java 1.7.0.45
Spring 安全 4.0.1
当然,当我看这个问题时我认为'what rubbish'。我遇到的问题是由于 Atmosphere 版本不兼容 - 一旦更新 Spring 安全问题就消失了,我们可以使用 Http11NioProtocol。
我正在修改一个应用程序以使用 Active Directory,使用 Spring 安全模型。在我的本地 Tomcat 7 安装上一切正常,但在我们的 UNIX 机器上它停止工作。
症状似乎表明 Spring 安全过滤器未被调用,但日志中没有异常或其他指示(带调试)。通过反复试验,我发现这是因为在 UNIX server.xml 安装中我有:
<Connector port="8083" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
proxyName="myproxy.com" scheme="http"
/>
而在我的本地安装中我有:
<Connector port="8083" protocol="HTTP/1.1"
connectionTimeout="20000"
proxyName="myproxy.com" scheme="http"
/>
连接器协议似乎是问题所在,如果我在 UNIX 上使用 HTTP/1.1 那么一切都很好。
所以我的问题是,我需要做什么才能让 Http11NioProtocol 正常工作?
Tomcat7.0.42 Java 1.7.0.45 Spring 安全 4.0.1
当然,当我看这个问题时我认为'what rubbish'。我遇到的问题是由于 Atmosphere 版本不兼容 - 一旦更新 Spring 安全问题就消失了,我们可以使用 Http11NioProtocol。