Java cas 实例 客户端配置

Java cas 实例 客户端配置

第二步 客户端web应用程序集成CAS

1. 从官网下载CAS Client, 将客户端的jar,
cas-client-core-3.2.1.jar   commons-logging-1.1.jar 引入到web应用程序的classpath中
2 .配置web.xml文件, 主要是添加过滤器拦截通信, 下面的实例代码, 假设web应用程序的端口是8888

	<!-- CAS 单点登录(SSO) 过滤器配置 (start) -->  
      
    <!-- 该过滤器用于实现单点登出功能。-->  
    <filter>  
        <filter-name>CAS Single Sign Out Filter</filter-name>  
        <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>  
    </filter-mapping>  
    <!-- CAS: 用于单点退出 -->  
    <listener>  
        <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>  
    </listener>  
	
	    <!-- 该过滤器负责用户的认证工作,必须启用它 -->  
    <filter>  
        <filter-name>CASFilter</filter-name>  
        <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>  
        <init-param>  
            <param-name>casServerLoginUrl</param-name>  
            <!-- 下面的URL是Cas服务器的登录地址 -->  
            <param-value>http://localhost:8888/cas-server/login</param-value>  
        </init-param>  
        <init-param>  
            <param-name>serverName</param-name>  
            <!-- 下面的URL是具体某一个应用的访问地址 -->  
            <param-value>http://localhost:8888/</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>CASFilter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>  
       
    <!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->  
    <filter>  
        <filter-name>CAS Validation Filter</filter-name>  
        <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>  
        <init-param>
		  <param-name>redirectAfterValidation</param-name>
		  <param-value>true</param-value>
		</init-param>
        <init-param>  
            <param-name>casServerUrlPrefix</param-name>  
            <!-- 下面的URL是Cas服务器的认证地址 -->  
            <param-value>http://localhost:8888/cas-server</param-value>  
        </init-param>  
        <init-param>  
            <param-name>serverName</param-name>  
            <!-- 下面的URL是具体某一个应用的访问地址 -->  
            <param-value>http://localhost:8888/</param-value>  
        </init-param>  
        <init-param>  
          <param-name>renew</param-name>  
          <param-value>false</param-value>  
        </init-param>  
        <init-param>  
          <param-name>gateway</param-name>  
          <param-value>false</param-value>  
        </init-param>  
    </filter>  
    <filter-mapping>  
        <filter-name>CAS Validation Filter</filter-name>  
        <url-pattern>/*</url-pattern>  
    </filter-mapping>  

3、启动报错如下

java.lang.RuntimeException: java.io.FileNotFoundException: https://localhost:8443/serviceValidate?ticket=ST-1-1HUXO9iETnaNI2jbuvqK-cas01.example.org&service=http%3A%2F%2Flocalhost%3A8080%2FCasClient%2FIndex.jsp
    org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:328)
    org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:291)
    org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:32)
    org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:187)
    org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:164)
    org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:102)

原因:


Java cas 实例 客户端配置

4、测试是否会跳转到cas验证页面,以及登录成功后会不会回到原页面

5、只要在系统的登出事件中, 将URL访问地址指向CAS服务登出的servlet, 就可以了。http://CAS服务器IP:8080/cas/logout

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111322.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux暴力破解工具

    对于Linux操作系统来说,一般通过VNC、Teamviewer和SSH等工具来进行远程管理,SSH是SecureShell的缩写,由IETF的网络小组(NetworkWorkingGroup)所制定;SSH 为建立在应用层基础上的安全协议。 SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信…

    2022年4月7日
    77
  • centos7 yum安装MongoDB[通俗易懂]

    centos7 yum安装MongoDB[通俗易懂]原文博客地址http://xgs888.top/post/view?id=64centos7yum安装mongodb;1:创建仓库vi/etc/yum.repos.d/mongodb-org-3.4.repo2:把下面的内容复制到文件中保存退出[mongodb-org-3.4]name=MongoDBRepositorybaseurl

    2022年5月24日
    34
  • 转发和重定向的区别和使用特点_转发与重定向的联系

    转发和重定向的区别和使用特点_转发与重定向的联系页面的跳转:转发转发的原理转发的方法疑问能否在OneServlet中保存值到请求域中,在另一个TwoServlet中打印出来?如果是不同的请求,不能取出来。如果是同一次请求是可以取出来的。转发与重定向的作用在Servlet中实现页面的跳转有两种方式:转发和重定向什么是转发概念由服务器端进行的页面跳转原理图转发的方法案例需求​ 实现从OneServle…

    2025年10月9日
    2
  • goland 激活码【注册码】

    goland 激活码【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    33
  • Mac 登录界面多了一个其它账户删除

    Mac 登录界面多了一个其它账户删除

    2021年12月16日
    47
  • Elasticsearch面试题精选20题[通俗易懂]

    Elasticsearch面试题精选20题[通俗易懂]题目均来源于网络,为个人学习标注并纠错后发布。目录1.ES为什么那么快(ES的索引原理)?Elasticsearch查询速度为什么这么快?2.MongoDB和Elasticsearch区别3.ES的倒排索引是什么?4.Elasticsearch索引数据多了怎么办,如何调优,部署?5.说你们公司ES的集群架构,索引数据大小,分片有多少,以及一些调优手段。6.Elasticsearch是如何实现master选举的?7.详细描述一下Elasticsearch索引文档的过程。

    2025年11月7日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号