从零搭建一个cas-server及cas-client

本文详细介绍了从零开始搭建CAS认证服务器(cas-server)及客户端(cas-client)的过程。包括下载、解压、打包、配置及启动cas-server,以及集成cas-client到项目中的步骤。特别强调了修改cas-server支持http访问的方法。

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

从零搭建一个cas-server及cas-client

cas-server

  1. 下载cas服务

github地址:github地址

2.解压
3.打war包
windows打开命令行窗口,运行:mvn clean package
如下图:
在这里插入图片描述

执行结束如图所示:
在这里插入图片描述

准备一个干净的tomcat,把打出来的war包拷贝到webapps下,进入到bin目录下启动tomcat。如果需要修改端口,或者端口呗占用,请自行到conf目录下修改server.xml

4.启动
启动tomcat之后,直接访问http://localhost:8080/cas 即进入到cas登陆页
在这里插入图片描述
5.登陆
登陆使用默认的用户名:casuser 密码:Mellon,可以在application.properties中修改

在这里插入图片描述

cas-client

这边借用了一个项目给的demo,我给放到github上了,https://github.com/sensezhang/cas-client

下载下来之后,导入到idea或者eclipse上,通过mvn jetty:run运行项目
在这里插入图片描述

好了,两个项目都运行起来之后,访问cas-client

在这里插入图片描述
zhangsan.jsp是可以不登录就访问的,index.jsp是需要登陆的
在这里插入图片描述

突然爆出来的未认证授权的服务,查了一下,可能是因为cas服务是https服务,而这里我们直接启动的cas-server,未设置证书,所以访问就是http的,需要修改支持http的,下面就告诉大家如何修改cas支持http:

  1. 修改 \WEB-INF\classes\services\HTTPSandIMAPS-10000001.json

    “serviceId” : “^(https|imaps)😕/."
    改为==>
    “serviceId” : "^(https|http|imaps)😕/.
    ”,

  2. 修改项目配置文件\WEB-INF\classes\application.properties

    cas.tgc.secure=false
    cas.serviceRegistry.initFromJson=true #这一点真是太重要了!!!!!!!!

  3. 重启cas-server服务
    在这里插入图片描述

Spring Boot与CAS (Central Authentication Service) 结合通常用于构建单点登录(Single Sign-On, SSO)系统。以下是简单的步骤: 1. **添加依赖**: - 首先,你需要在你的`pom.xml`文件中添加Spring Security CAS的依赖。例如: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.apereo.cas</groupId> <artifactId>apereo-cas-server-webapp-support</artifactId> <version>{cas_version}</version> </dependency> ``` 替换 `{cas_version}` 为CAS服务器的实际版本。 2. **配置应用**: - 在`application.properties`或`application.yml`文件中配置CAS服务器的相关信息,如服务地址、认证服务器地址等。例如: ```properties cas.server.prefix=/cas server.port=8080 spring.security.oauth2.client.registration CasServerProvider.token-uri=http://your-cas-server/token ``` 3. **配置Spring Security**: - 在`SecurityConfig.java`或对应的配置类中,启用CasAuthenticationProvider,并指定默认登录失败处理: ```java @Bean public CasAuthenticationProvider casAuthenticationProvider() { CasAuthenticationProvider provider = new CasAuthenticationProvider(); provider.setServiceFactory(new InMemoryRegisteredServicesFactory()); provider.setPrincipalFactory(new SimplePrincipalFactory()); return provider; } @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/login", "/cas/**").permitAll() .anyRequest().authenticated() .and() .formLogin().loginPage("/login") .permitAll() .defaultSuccessUrl("/") .failureHandler(casAuthenticationFailureHandler()) .and() .logout() .logoutSuccessUrl("/"); } ``` 4. **创建注册服务**: - 创建一个实现了`RegisteredService`接口的服务类,提供客户端的信息和服务ID。 5. **启动应用**: - 启动Spring Boot应用,然后可以访问`http://your-app-url/cas/login`开始CAS流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值