CAS客户端入门小demo

本文档详细介绍了如何使用maven和web工程搭建CAS客户端。首先,需要开启CAS服务器,然后创建一个maven父工程,包含子模块cas_sys1。在每个子模块中配置pom.xml、web.xml,确保正确设置Tomcat服务器版本和端口号。完成搭建后,运行index.html页面,系统将引导至CAS服务器进行登录认证。成功登录后,可以无缝访问其他已配置的CAS客户端应用,如cas_sys2。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、使用maven+web工程

前提:开启CAS服务器

 

1、创建一个maven父工程

(1)客户端工程1的搭建

1)在maven父工程里创建一个module(cas_sys1系统1):maven+webApp

 

2)系统1的pom文件

<!-- cas -->
<dependency>
    <groupId>org.jasig.cas.client</groupId>
    <artifactId>cas-client-core</artifactId>
    <version>3.3.3</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
</dependency>
............
<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat8-maven-plugin</artifactId>
    <configuration>
        <!-- 指定端口:CAS服务器的端口号 -->
        <port>9022</port>
        <!-- 请求路径 -->
        <path>/</path>
    </configuration>
</plugin>

 

3)web.xml文件

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <!-- 该过滤器用于实现单点登出功能,可选配置。 -->
  <filter>
    <filter-name>CAS Single Sign Out Filter</filter-name>
    <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
  </filter>
  <!-- 该过滤器负责用户的认证工作,必须启用它 -->
  <filter>
    <filter-name>CASFilter</filter-name>       <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
    <init-param>
      <param-name>casServerLoginUrl</param-name>
      <param-value>http://192.168.80.21:9022/cas/login</param-value>
      <!--这里的server是CAS服务端的IP -->
    </init-param>
    <init-param>
      <param-name>serverName</param-name>
      <!--验证成功之后返回来的CAS客户端IP: 即子系统部署的Tomcat服务器端口为9001-->
      <param-value>http://localhost:9001</param-value>
    </init-param>
  </filter>
  <!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->
  <filter>
    <filter-name>CAS Validation Filter</filter-name>
    <filter-class>     org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
    <init-param>
      <param-name>casServerUrlPrefix</param-name>
      <param-value>http://192.168.80.21:9022/cas</param-value>
      <!--进行验证的CAS服务器端IP-->
    </init-param>
    <init-param>
      <param-name>serverName</param-name>
      <!--验证成功之后返票据回来的CAS客户端IP: 即子系统部署的Tomcat服务器端口为9001-->
      <param-value>http://localhost:9001</param-value>
    </init-param>
  </filter>
  <!-- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 -->
    <filter>
      <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
      <filter-class>
        org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
    </filter>
    <filter-mapping>
      <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>
  <filter-mapping>
    <filter-name>CAS Validation Filter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>CAS Single Sign Out Filter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter-mapping>
    <filter-name>CASFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置 -->
  <listener>
    <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
  </listener>
</web-app>

 

4)index.html页面(需要改成utf-8编码格式,否则会乱码)

request.getRemoteUser()为获取远程登录名

<h2>欢迎:CAS_Sys1,Hello World!</h2>
<%=request.getRemoteUser()%>

5)部署系统1的Tomcat服务器的版本和端口号:注意是新建一个Tomcat,不要在Tomcat右边直接配置

 

 

在这里新建一个Tomcat配置部署

 

 

如果没有Tomcat版本:

 

 

 

已添加了Tomcat就会在这里显示Tomcat的版本

 

 

 

6)运行index.html页面

运行完成后显示:是否在浏览器打开index.html页面,修改访问的端口号

 

立即进入cas服务器端页面(即访问系统1需要登录认证)

 

登录成功后返回到系统1的index页面

 

(2)客户端工程2搭建:同上系统1的设置,除了

1)web.xml文件返回的客户端IP为Tomcat端口号:9002

2)Tomcat的端口号设置为:9002,应用名称Application context:/cas_sys2

注意:sys2的Tomcat配置,需要把JMX port也修改,否则会跟sys1有冲突,而导致sys1运行不成功

 

 

3)运行系统2的index页面:直接跳转到sys2的index页面,是因为在访问sys1之前已经进行了登录

在访问sys2的时候,CAS服务器验证到了之前登录获取到的票据,所以可以直接访问sys2的页面

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值