`
nesuk
  • 浏览: 169496 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

设置CAS Filter过滤某些URL

阅读更多
    公司的平台引入了CAS SSO来实现整个系统的单点登录功能,在CAS Client的web.xml中需要配置Filter来拦截外来的请求,实现单点登录、单点登出、权限认证、Ticket认证、设置用户信息等。

    其中一个系统是多点部署的,不同的点之间要通过HTTP来传输数据,Server端是用SpringMVC实现的,那么类似这种非通过页面发起的请求就需要排除在CAS的Filter之外。刚开始的思路是在FilterMapping声明时使用正则表达式,但是部署测试无效,通过Google从SOF上得知,Servlet是不支持正则的,如下说明:

No, you can't use a regex there. According to the Java Servlet Specification v2.4 (section srv.11.1), the url-path is interpreted as follows:

•A string beginning with a ‘/’ character and ending with a ‘/*’ suffix is used for path mapping.
•A string beginning with a ‘*.’ prefix is used as an extension mapping.
•A string containing only the ’/’ character indicates the "default" servlet of the application. In this case the servlet path is the request URI minus the context path and the path info is null.

•All other strings are used for exact matches only.

No regexes. Not even complicated wild-cards.


    意思好像是以"/"开头的只能通过前缀过滤,以"*"开头的只能通过后缀过滤,其它字符串只能完全匹配,不支持正则,甚至是复杂的通配符。既然Servlet不支持,那只好另寻它路了。其它还能想到的方法有:
  • 1. 自定义Filter,然后引用CAS自身的Filter;
  • 2. 将传送数据的请求从MVC中剥离。

因为CAS权限验证、登入、登出的功能是分多个Filter拦截的,修改比较复杂,而且有潜在的风险。所以最后选择了写一个单独的Servlet实现接收数据的功能。






=========================================
分享到:
评论
1 楼 游其是你 2015-01-04  
博主您好,我现在就是想过滤一些链接,如果在CAS 服务端添加注册等功能,找个怎么过滤掉,还请赐教,盼回复,谢谢!

相关推荐

    cas无过滤器 j2ee系统接入示例

    在标准的CAS客户端集成中,通常会使用CAS Filter来拦截所有请求,检查是否需要进行CAS验证。但是,有些特殊情况下,可能由于各种原因(如框架限制或特定需求)无法使用Filter。在这种情况下,我们可以手动调用CAS的...

    cas-client扩展拦截器支持excludes

    这通常是为了在使用CAS进行统一认证时,允许某些特定的URL不受拦截器的控制,以便它们可以直接访问或者有别于其他请求的处理方式。 CAS是一个开放源码的单点登录(Single Sign-On, SSO)系统,广泛应用于Web应用的...

    spring boot整合CAS Client实现单点登陆验证的示例

    在手动配置 CAS Client 时,我们需要在 web.xml 文件中添加过滤器配置。例如: ```xml <filter> <filter-name>authenticationFilter</filter-name> <filter-class>org.jasig.cas.client.authentication....

    CAS客户端JAR包版本3.3.3

    <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> </filter> <filter-mapping> <filter-name>CAS Single Sign Out Filter</filter-name> <url-pattern>/*</url-pattern> </...

    cas client核心jar文件

    service=${cas.project.url}${adminPath}/cas" /> <!-- CAS --> ${adminPath}?login" /> <entry key="cas" value-ref="casFilter"/> <!-- CAS --> 然后在核心应用配置...

    关于cas安装和配置

    4. **过滤器映射**:设置过滤器应用于所有 URL(`<url-pattern>/*</url-pattern>`),确保所有请求都经过 CAS 的验证。 【CAS 单点登录与登出】 - **单点登录**:当用户首次访问受保护的应用时,如果没有有效的 CAS...

    Shiro和cas部分整合

    这个配置文件将包含关于CAS服务器的URL、服务验证URL等信息,以及Shiro的 Realm 设置,用于定义如何与CAS服务器交互获取和验证用户凭证。 接下来,配置Shiro的过滤器 `shiroFilter`,它是基于Spring的代理过滤器 `...

    cas-client3.2.1

    你需要添加CAS过滤器和监听器,它们负责拦截请求并处理与CAS服务器的交互。例如,添加`CasServerLoginUrlFilter`,`CasValidationFilter`,`CasClientRedirectActionFilter`,以及`CasLoginTicketValidator`等。 ``...

    CAS初步调研.docx

    此外,还有两个过滤器,分别是`CAS Authentication Filter`和`CAS Validation Filter`,分别负责用户的认证和票据验证。启动JDK时,需要添加额外的参数来信任CAS服务器的证书。 web2的配置与web1类似,只是在web....

    shiro整合cas的实例

    设置 `filter-class` 为 `org.jasig.cas.client.authentication.AuthenticationFilter`,并配置相应的参数如 `casServerLoginUrl` 和 `serverName`。 - 接下来,配置 `ServiceValidateFilter` 用于验证从 CAS ...

    cas客户端java版

    这通常通过修改应用的配置文件(如`cas.properties`或`application.properties`)来完成,设置包括CAS服务器的URL、应用的服务URL、认证协议等。 4. **集成CAS过滤器**:CAS客户端使用过滤器(Filter)来处理HTTP...

    shiro-cas-1.2.1.jar

    5. **配置 CAS Filter**:在 Shiro 的过滤器链中,添加 `CasFilter`,并配置相应的参数,如服务票证验证成功后重定向的 URL 和未通过验证时的错误页面。 6. **使用 Shiro API**:在你的应用中,你可以使用 Shiro 的...

    Spring Seucrity整合CAS

    `<authentication-manager>`定义认证管理器,`<cas-filter>`和`<cas-server-login-url>`用于配置CAS客户端过滤器和登录URL。`<cas-service-validator>`则指定了服务验证器,用于验证从CAS服务器返回的票据。 ```xml...

    单点登录sso-shiro-cas-maven

    > 其中shiroFilter这个类主要用于需要拦截的url请求,需要注意的是这个是shiro的拦截,我们还需要配置cas的过滤配置casFilter > casRealm这个类是需要我们自己实现的,主要用于shiro的权限验证,里面的属性说明如下...

    CASClient集群环境的Session问题及解决方案.docx

    在 CASClient 中,可以配置一个统一的注销 URL,当用户注销时,可以将用户重定向到这个 URL,从而实现统一注销。 配置 CASClient 为了实现单点登录和统一注销,需要在 web.xml 中进行相应的配置。需要配置 ...

    cas +shiro集成

    6. 自定义逻辑:可能需要根据实际需求编写自定义的Cas Realm或者Filter,以便处理特定的业务逻辑,比如用户信息的获取、权限的动态加载等。 7. 整合测试:集成完成后,进行详细的测试是非常必要的,包括正常登录、...

    单点登录CAS与权限管理框架Shiro集成

    2. **配置ShiroFilter**:在`web.xml`中配置`shiroFilter`,并确保将CAS相关的过滤器(如`casFilter`)添加到Shiro的过滤器链中。 ```xml <filter> <filter-name>shiroFilter</filter-name> <filter-class> org...

    使用 CAS 在 Tomcat6 中实现单点登录

    【CAS Client集成】在Tomcat中,可以通过Filter配置保护Web应用资源,比如在web.xml中添加CAS Client的过滤器配置,设置Service URL以及CAS Server的相关参数。 总结来说,实现使用CAS在Tomcat6中进行单点登录,...

Global site tag (gtag.js) - Google Analytics