SpringBoot集成cas

您所在的位置:网站首页 url-pattern怎么配置 SpringBoot集成cas

SpringBoot集成cas

2023-12-05 22:06| 来源: 网络整理| 查看: 265

我使用的cas-client客户端为2.0.0-GA。对于以前使用web.xml进行配置的只需要更改配置文件即可。此文我主要是针对用于SpringBoot集成客户端的过滤请求讲解。

由于最新的cas客户端只有server-url-prefix ,server-login-url,client-host-url,authentication-url-patterns等几个配置而取消了原xml中进行配置的ignorePattern、ignoreUrlPatternType配置,所以如果需要配置拦截过滤的话,只需要将ignorePattern、ignoreUrlPatternType两个参数添加到AuthenticationFilter过滤器中即可。

两个思路:

1)将ignorePattern、ignoreUrlPatternType两个参数添加到AuthenticationFilter过滤器中

2)使用authentication-url-patterns配置需要进行拦截的正则表达式请求,那么剩下的没有配置的即不进行过滤

下面给出第一种方法的代码:

package cn.piesat.pieswc.portal.common.config; import org.jasig.cas.client.authentication.AuthenticationFilter; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.HashMap; import java.util.Map; @Configuration public class CasUrlPatternConfig { @Value("${cas.server-login-url}") private String casServerLoginUrl; @Value("${cas.client-host-url}") private String casClientHostUrl; @Value("${cas-ignore-pattern}") private String casIgnorePattern; /** * description:授权过滤器   * ignoreUrlPatternType 使用CAS现成的正则表达式过滤策略 */ @Bean public FilterRegistrationBean filterAuthenticationRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new AuthenticationFilter()); registration.addUrlPatterns("/*"); Map initParameters = new HashMap(); initParameters.put("casServerLoginUrl", casServerLoginUrl); initParameters.put("serverName", casClientHostUrl); //配置文件中设置要过滤拦截的路径 initParameters.put("ignorePattern", casIgnorePattern); initParameters.put("ignoreUrlPatternType", "org.jasig.cas.client.authentication.RegexUrlPatternMatcherStrategy"); registration.setInitParameters(initParameters); registration.setOrder(1); return registration; } }

PS: 再补充一下多个过滤路径的配置: 不同的路径只需要用 ()|()处理即可。例如,我需要过滤/app/*以及/file/*下的路径,则只需要在application文件中配置为: 

cas-ignore-pattern=(/app/*)|(/file/*)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3