我们设置了 Fusion Middleware 来处理我们的证书。它在端口 443 上配置,并在处理认证过程后将其请求转发到在端口 8001 上设置的 weblogic 11g 实例。该实例处理身份验证并通过中间件返回响应。我们正在使用 Spring 2.5.6 和 Spring Security 2.0.4。它是一个基于 flex 的 Web 应用程序。使用 firebug/firefox,我能够验证服务器是否正确处理身份验证请求,并尝试返回我的 loginSuccess.htm(通过org.springframework.security.ui.webapp.AuthenticationProcessingFilter
在我的 spring 安全配置文件中配置)但我可以看到它是 302 转发,它是错误的萤火虫的状态为已中止。
还要注意,身份验证和应用程序在 weblogic 的独立实例上工作正常;当我们在 Web 应用程序和客户端之间引入 Fusion Middleware 时,我们开始遇到身份验证问题。
这是我的 AuthenticationProcessingFilter 配置条目的片段:
<bean id="authenticationProcessingFilter" class="org.springframework.security.ui.webapp.AuthenticationProcessingFilter">
<property name="authenticationManager" ref="authenticationManager"/>
<property name="authenticationFailureUrl" value="/loginFailure.htm"/>
<property name="defaultTargetUrl" value="/loginSuccess.htm"/>
<property name="filterProcessesUrl" value="/login.htm"/>
<property name="rememberMeServices" ref="rememberMeServices"/>
<property name="alwaysUseDefaultTargetUrl" value="true" />
<property name="usernameParameter" value="username"/>
<property name="passwordParameter" value="password"/>
</bean>
任何见解都会很有用。我们引入了融合中间件,因为它是 Oracle 推荐的生产方法;我们事先遇到了证书问题。