spring security logout成功url从https重定向到http

时间:2015-03-26 00:51:07

标签: http redirect https spring-security logout

我们的应用程序受siteminder Web代理保护,并且位于https上。 我们的应用程序在weblogic上运行,并且在http上。 当用户访问受保护的URL时,将显示siteminder登录页面(https),并且用户在此处输入其凭据。

但验证成功后,用户被重定向到http URL,无法显示页面或无法连接消息。

我通过将redirectHttp10Compatible =“false”属性添加到我的视图解析器来修复此问题。

现在,在注销时,应用程序将通过http而不是https重定向到注销成功URL。

redirectHttp10Compatible =“false”属性仍然在同一个地方。

这方面的任何帮助都非常有帮助,也非常感谢。

提前多多感谢。

以下是配置文件(已编辑,删除了不相关的行):

    <-- DISPATCHER SERVLET -->    
    <context:component-scan base-package="xxx.xxx.controllers"/>
        <mvc:annotation-driven />
        <mvc:default-servlet-handler/>
        <bean id="multipartResolver"     
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="maxUploadSize" value="100000000"/>
        </bean> 
    <bean id="jspViewResolver" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"  
    p:viewClass="org.springframework.web.servlet.view.JstlView" 
    p:prefix="/WEB-INF/jsp/"
        p:suffix=".jsp"
        p:redirectHttp10Compatible="false"
    />


<-- SPRING SECURITY XML FILE -->
    <http pattern="/login/login.action" security="none"/>
    <http pattern="/login/logout.action" security="none"/>
    <http pattern="/WEB-INF/jsp/Login.jsp" security="none"/>
    <http pattern="/WEB-INF/jsp/Logout.jsp" security="none"/>

    <http auto-config="false" entry-point-ref="http403EntryPoint" use-expressions="true">
    <form-login login-page="/login/login.action" 
             default-target-url="/home.action" 
             authentication-failure-url="/login/login.action?loginFailed=true" 
             always-use-default-target="true"/>
    <custom-filter ref="siteMinderAgent" position="PRE_AUTH_FILTER"/>
    <logout logout-success-url="/login/logout.action" 
    invalidate-session="true" />
    </http>

    <beans:bean id="siteMinderAgent" 
    class="org.springframework.security.web.authentication.preauth.RequestHeaderAuthenticationFilter">
    <beans:property name="principalRequestHeader" value="SM_USER"/>
    <beans:property name="authenticationManager" ref="appAuthenticationManager" />
    </beans:bean>

    <beans:bean id="preauthAuthProvider" 
    class="com.xxx.security.PreAuthenticatedAuthenticationProvider">
      <beans:property name="preAuthenticatedUserDetailsService">
        <beans:bean id="userDetailsServiceWrapper"
      class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper">
          <beans:property name="userDetailsService" ref="userDetailsService"/>
        </beans:bean>
      </beans:property>
    </beans:bean>

    <beans:bean id="http403EntryPoint" 
    class="org.springframework.security.web.authentication.Http403ForbiddenEntryPoint" />

    <authentication-manager alias="appAuthenticationManager">
       <authentication-provider  ref="preauthAuthProvider"/>
    </authentication-manager>

0 个答案:

没有答案