CAS 5.3.x SSO 单点登陆构建

1 篇文章 0 订阅

1. CAS 构建工具说明

CAS版本overlay-template 构建方式Java版本
5.xMaven1.8+
6.xGradle1.9+

Tip:本文档使用 5.3.14 版本。

2. 安装准备

1. 安装 Java(安装过程略)
2. 安装 Maven
1. 下载Maven,地址:https://maven.apache.org/
2. 解压下载的文件
3. 配置Maven,配置文件在Maven解压目录下:conf/settings.xml
	* 指定本地 Jar 存放目录路径,如果不指定,默认在 "[用户家目录]/.m2" 目录下。(非必须):

		 <localRepository>D:\\maven\\repository</localRepository>
		 
	* 配置远程仓库地址,推荐使用阿里的仓库,如果不配置有些包会下载的很慢。(视你的网络情况而定,非必须)
		 
		 <mirrors>
		    <mirror>
		      <id>alimaven</id>
		      <mirrorOf>central</mirrorOf>
		      <name>aliyun maven</name>
		      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
		    </mirror>
		   </mirrors>
		   
	* 将 Maven 目录的bin路径添加到 系统环境变量 Path 中,CAS 构建命令会使用到Maven命令,如果没有配置环境变量,会无法执行。(**必须**)
5. 从github下载稳定版分支 cas-overlay-template-5.3,地址:https://github.com/apereo/cas-overlay-template/branches/stale

3. 开始构建CAS

1. 构建项目比较简单,只需要到下载的 cas-overlay-template 目录执行:
build.cmd clean # 清除生成的内容,第一次会下载一堆包
build.cmd package # 编译打包,第一次会下载一堆包,如果下载慢可以换个 maven 的仓库源
build.cmd run  # 直接启动 cas,启动后可以通过 http://localhost:8443/cas 访问,默认用户名密码“casuser/Mellon”,这个可以用于快速验证 cas
2. 如何取消 https,测试时取消 https 比较方便,取消方法:
	* 修改 target/cas/WEB-INF/classes/application.properties 文件,增加配置:
	
		cas.tgc.secure=false
		cas.serviceRegistry.initFromJson=true

	* 修改 target/cas\WEB-INF\classes\services/HTTPSandIMAPS-10000001.json 文件为:
		{
		  "@class" : "org.apereo.cas.services.RegexRegisteredService",
		  "serviceId" : "^(https|http|imaps)://.*",
		  "name" : "HTTPS and IMAPS",
		  "id" : 10000001,
		  "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
		  "evaluationOrder" : 10000
		}

3. 配置 MySQL 数据库认证:
	* 修改 overlay-template 的 pom.xml 文件,增加对数据库的支持:
	
	   <!--新增支持jdbc验证-->
       <dependency>
           <groupId>org.apereo.cas</groupId>
           <artifactId>cas-server-support-jdbc</artifactId>
           <version>${cas.version}</version>
       </dependency>
       <!--自适配数据库驱动,其中包括HSQLDB、Oracle、MYSQL、PostgreSQL、MariaDB、Microsoft SQL Server-->
       <dependency>
           <groupId>org.apereo.cas</groupId>
           <artifactId>cas-server-support-jdbc-drivers</artifactId>
           <version>${cas.version}</version>
       </dependency>
            
	* 配置 appalication.properties 文件,指定数据库信息(追加):
	
		##
		# CAS Authentication Credentials
		#
		# 使用数据库,默认演示用的登陆账号 关闭掉(注释掉)
		# cas.authn.accept.users=casuser::Mellon
		
		# 关闭 https
		cas.tgc.secure=false
		cas.serviceRegistry.initFromJson=true
		
		# 连接 MySQL 数据库认证
		cas.authn.jdbc.query[0].driverClass=com.mysql.jdbc.Driver
		cas.authn.jdbc.query[0].url=jdbc:mysql://127.0.0.1:3306/kmc_cscrm?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8
		cas.authn.jdbc.query[0].user=root
		cas.authn.jdbc.query[0].password=root
		# cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.MySQLDialect
		# 查询用户信息SQL
		cas.authn.jdbc.query[0].sql=select * from tb_account where name=?
		cas.authn.jdbc.query[0].fieldPassword=password
		# cas.authn.jdbc.query[0].fieldExpired=expired
		# cas.authn.jdbc.query[0].fieldDisabled=disabled
		# 密码加密策略,默认不加密,这里使用 MD5 加密
		cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
		cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
		cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5
		# cas.authn.jdbc.query[0].passwordEncoder.secret=
		# cas.authn.jdbc.query[0].passwordEncoder.strength=32
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单点登录(Single Sign-On,简称SSO)是一种认证机制,允许用户使用一组凭据(例如用户名和密码)登录到多个应用程序或网站,而无需在每个应用程序或网站上都输入凭据。CAS(Central Authentication Service)是一个用于Web应用程序的开源单点登录协议。以下是实现CAS 6.x版本的单点登录的步骤: 1. 安装和配置CAS服务器:下载CAS服务器的软件包并解压缩,然后修改配置文件以满足你的需求。在这个过程中,你需要为CAS服务器生成一个SSL证书,以确保安全通信。 2. 配置应用程序:将需要进行单点登录的应用程序配置为CAS客户端。这通常涉及修改应用程序的配置文件,以便该应用程序知道如何与CAS服务器进行通信。 3. 集成CAS客户端:将CAS客户端集成到应用程序中。这通常需要编写一些代码,以便应用程序能够与CAS客户端进行通信,并使用CAS服务器进行用户身份验证。 4. 测试:测试单点登录是否正常工作。这通常涉及在浏览器中打开应用程序,并检查是否可以从CAS服务器中获取用户身份验证信息。 5. 部署:将已配置和测试的应用程序部署到生产环境中,以确保用户可以使用单点登录功能进行身份验证。 需要注意的是,CAS 6.x版本相较于之前版本有了很多改进和新特性,因此在实现CAS 6.x版本的单点登录时需要仔细阅读相关文档,并确保按照最新的指南进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值