我有一个连接到CAS服务器的应用程序,它允许用户进行CAS/SSO登录,然后将用户重定向到应用程序的主页。很简单。
问题是CAS对我的组织来说是相对较新的,到今天为止,我们只在一台服务器上设置了它。因此,如果服务器由于任何原因变得不可访问,应用程序将无法再访问,因为CAS登录页面将不会加载。
我希望我的应用程序能够检测到
a)在经过合理的重试次数后,无法访问CAS服务器
b)随后将用户重定向到非CAS/SSO登录页面,并使用使用LDAP的基本Spring Security配置
我在Spring文档中看不到针对此特定场景的任何内容。有什么建议吗?
发布于 2018-04-13 03:53:24
您可以尝试扩展CasAuthenticationEntryPoint。Spring Security中的入口点是在需要身份验证时确定要去哪里的东西。
public LocalLoginFallbackCasAuthenticationEntryPoint
extends CasAuthenticationEntryPoint {
@Override
protected String createRedirectUrl(final String serviceUrl) {
if ( prevailingCircumstancesMandate() ) {
return "/our/legacy/login/page";
} else {
// go to CAS, like normal
return super.createRedirectUrl(serviceUrl);
}
}
}然后在HttpSecurity对象中进行配置:
@Override
protected void configure(HttpSecurity http) {
http.exceptionHandling()
.authenticationEntryPoint(myCustomEntryPoint());
}https://stackoverflow.com/questions/49780654
复制相似问题