CAS集成Springboot项目:
host:
127.0.0.1 www.server.com
127.0.0.1 www.client1.com
1.pom:
<!-- https://mvnrepository.com/artifact/org.jasig.cas.client/cas-client-core -->
<dependency>
<groupId>org.jasig.cas.client</groupId>
<artifactId>cas-client-core</artifactId>
<version>3.5.0</version>
</dependency>
2.配置文件配置相关路径:
#cas服务器前缀
server-url-prefix=http://www.server.com:8443/cas/
#登陆路径
server-login-url=http://www.server.com:8443/cas/login
#客户端路径
client-host-url=http://www.client1.com:9003/index
#服务端推出路径
server-logout-url =http://www.server.com:8443/cas/logout
#客户端退出路径
client-logout-url =http://www.server.com:8443/cas/logout?service=http://www.client1.com:9003/logout/success
validation-type=cas
#服务名称
server-name=http://www.client1.com:9003
3.配置cas各种拦截器
/**
* 登出过滤器
* @return
*/
@Bean
public FilterRegistrationBean filterSingleRegistration() {
SingleSignOutFilter singleSignOutFilter = new SingleSignOutFilter();
singleSignOutFilter.setCasServerUrlPrefix(casConfig.getServerUrlPrefix());
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setName("singleSignOutFilter");
filterRegistrationBean.setFilter(new DelegatingFilterProxy(singleSignOutFilter));
filterRegistrationBean.setOrder(2);
filterRegistrationBean.setUrlPatterns(Arrays.asList("/*"));
return filterRegistrationBean;
}
/**
* 授权过滤器,用于登录
* @return
*/
@Bean
public FilterRegistrationBean filterAuthenticationRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new AuthenticationFilter());
// 设定匹配的路径
registration.addUrlPatterns("/*");
Map<String,String> initParameters = new HashMap<String, String>();
initParameters.put("casServerLoginUrl", casConfig.getServerUrlPrefix());
initParameters.put("serverName", casConfig.getServerName());
initParameters.put("ignorePattern", "/logout/success");
registration.setInitParameters(initParameters);
// 设定加载的顺序
registration.setOrder(3);
return registration;
}
/**
* ticke验证器
* @return
*/
@Bean
public FilterRegistrationBean filterValidationRegistration() {
Cas20ProxyReceivingTicketValidationFilter validationFilter = new Cas20ProxyReceivingTicketValidationFilter();
validationFilter.setServerName(casConfig.getServerName());
validationFilter.setTicketValidator(ticketValidator());
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setName("validationFilter");
filterRegistrationBean.setFilter(new DelegatingFilterProxy(validationFilter));
filterRegistrationBean.setOrder(4);
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
}
。。。。。。。。。。。。。。。。。。
具体查看代码:https://github.com/timeday/casspringboot.git