如何在注销页面上验证用户

时间:2015-03-10 07:09:20

标签: spring java-ee spring-security spring-webflow cas

我是cas服务器的新手,现在我遇到了另一个问题。当用户单击“注销”按钮时,应用程序将重定向到

  

https://localhost:8443/cas/logout

我希望在成功注销后向用户显示一条消息,该页面的其余部分与登录页面相同,我的意思是有用于获取用户名和密码以及提交按钮的输入。

我在spring-security.xml文件中的配置类似于:

<logout logout-url="/logout" delete-cookies="true"
        invalidate-session="true"
        logout-success-url="https://${cas.server.host}/cas/logout?service=https://${cas.service.host}/MyApp1/" />

<b:bean id="requestSingleLogoutFilter"
    class="org.springframework.security.web.authentication.logout.LogoutFilter"
    p:filterProcessesUrl="/logout">
    <b:constructor-arg value="https://${cas.server.host}/cas/logout" />
    <b:constructor-arg>
        <b:bean
            class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />
    </b:constructor-arg>
</b:bean>

那我该怎么办?

2 个答案:

答案 0 :(得分:0)

类似的东西会帮助你

<c:choose>
    <c:when test="${empty param.name}">// name is the Request Parameter
        Please enter your name.
    </c:when>
    <c:otherwise>
        Hello <b><c:out value="${param.name}" /></b>!
    </c:otherwise>
</c:choose>

点击退出时发送此类请求

访问Cas的

https://localhost:8443/cas/login.jsp?logout=Thanks !!!

答案 1 :(得分:0)

您所要做的就是将以下更改添加到spring-security.xml

<b:bean id="requestSingleLogoutFilter"
    class="org.springframework.security.web.authentication.logout.LogoutFilter"
    p:filterProcessesUrl="/logout">
    <b:constructor-arg value="https://${cas.server.host}/cas/logout?service=https://${cas.service.host}/MyApp1/j_spring_cas_security_check" />
    <b:constructor-arg>
        <b:bean
            class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />
    </b:constructor-arg>
</b:bean>

取消注释

  

cas.logout.followServiceRedirects =真

来自cas服务器应用程序的cas.properties文件。

我希望这会有所帮助。

问候。