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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • QT 播放器之列表隐藏

    QT 播放器之列表隐藏首先需要有一个按钮用来显示和隐藏列表m_button=newQPushButton(QStringLiteral(“隐藏”),parent);m_button->resize(35,35);当点击按钮的时候隐藏或显示列表connect(m_button,&QPushButton::clicked,this,&HideShowListVi…

    2022年6月2日
    33
  • drone无人机是什么意思_无人机3droll是什么意思

    drone无人机是什么意思_无人机3droll是什么意思所以看到XTDronehttps://mp.weixin.qq.com/s/yU_xj8bMAASm8cIZnn2iZw看到Dronekit

    2022年4月19日
    82
  • shuffle单级互连网络_如何看论文

    shuffle单级互连网络_如何看论文ShuffleNetShuffleNet:AnExtremelyEfficientConvolutionalNeuralNetworkforMobileDevices原文地址:ShuffleNet代码:-TensorFlow-CaffeAbstract论文介绍一个效率极高的CNN架构ShuffleNet,专门应用于计算力受限的移动设备。新

    2025年10月16日
    3
  • java文档注释符号_java的注释符号

    java文档注释符号_java的注释符号1JAVA语法基础1.1标识符标识符可以简单的理解成一个名字。在Java中,我们需要标识代码的很多元素,包括类名、方法、字段、变量、包名等等。我们选择的那个名称就称为标识符,一个正确的标识符需要遵循以下规则:1.标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含@、%、空格等其它特殊字符2.不能以数字开头。如:123name就是不合法3.标识符严格区分大小写。如:tmooc和tMooc是两个不同的标识符4.标识符的命名最好能反映出其作用,做到见名知意。

    2022年10月7日
    2
  • oracle 行列转换 pivot

    oracle 行列转换 pivot

    2021年8月31日
    55
  • Quartus II 使用详解

    Quartus II 使用详解今天早上做了《计算机组成原理》课的第一次实验。在这介绍一下QuartusⅡ如何使用,希望能帮到有需要的人。1、新建工程项目。2、填写项目存储路径和工程名,不要出现中文路径。3、添加已存在文件(可选),在【Filename】下选择已经存在的工程项目,利用【Add】或【Addall】命令添加文件到新工程,点击【Next】4、选择设备系列,并在【de…

    2022年10月16日
    10

发表回复

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

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