1

我为 SSO 实现了 CAS 服务器 4.0。我有 3 个应用程序(具有 Spring CAS 安全性的 Spring Web MVC)连接到 CAS 服务器。我将 CAS 服务器配置为通过 JPA 管理票证并通过用户名检查 CAS 中的身份验证。目前我正在为我的应用程序创建忘记密码功能,我现在的问题是如何在密码重置后使 CAS 服务器上的用户 cookie/会话无效(或注销它们)(注意他们可以由用户登录并执行忘记另一个用户的密码)。我们可以用 CAS 来做吗?任何帮助将不胜感激。感谢你们。

4

1 回答 1

0

我已经实现了 cas 3.1,这就是我所做的:

控制器方法

@RequestMapping(value = "/onCompletePasswordReset.html", method = RequestMethod.GET)
public String completeResetLicense() {
    return "redirect:j_spring_security_logout";
}

春季安全

<http auto-config='true' entry-point-ref="casEntryPoint">
        <intercept-url pattern="/**" access="ROLE_ADMINISTRATORS" />
        <custom-filter position="CAS_FILTER" ref="casFilter" />
        <logout logout-success-url="/j_spring_cas_security_logout" />
        <custom-filter ref="requestSingleLogoutFilter" before="LOGOUT_FILTER" />
        <custom-filter ref="singleLogoutFilter" before="CAS_FILTER" />
    </http>
    <beans:bean id="singleLogoutFilter"
        class="org.jasig.cas.client.session.SingleSignOutFilter" />
    <beans:bean id="requestSingleLogoutFilter"
        class="org.springframework.security.web.authentication.logout.LogoutFilter">
        <beans:constructor-arg value="https://cas_server:8443/cas/logout" />
        <beans:constructor-arg>
            <beans:bean
                class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />
        </beans:constructor-arg>
        <beans:property name="filterProcessesUrl" value="/j_spring_cas_security_logout" />
    </beans:bean>
于 2015-09-14T10:28:29.527 回答