CAS实现SSO单点登录-CAS Server搭建

        最近公司连续接了三四个单点登录集成的项目,由我们公司提供CAS Server端的,也有需要我们把Client与其他公司提供的Server端对接的,我负责把我们公司的一个Client与另外一个公司提供的Server端对接,由于我们需要.Net2.0的版本,而负责集成的公司只有.Net4.0的版本,趁他们在开发.Net2.0时,我顺便研究了单点登录集成的客户端与服务端,在此记录一下自己的研究结果及中间碰到的坑,方便自己以后查阅。

        现在市场上大多数单点登录项目,都采用的是CAS(即Central Authentication Server),CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目.

该项目具有如下特点:
1、开源的企业级单点登录解决方案。
2、CAS Server 为需要独立部署的 Web 应用。
3、CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Java, .Net, PHP, Perl, Apache, uPortal, Ruby 等。

软硬件环境如下图:
CAS实现SSO单点登录-CAS Server搭建_第1张图片

        说一下为什么CAS Server端会有CAS4.0与CAS5.3两个版本,截止写本博客时,CAS现在最新的版本是5.3,要研究肯定是研究最新的版本了,为什么要研究CAS4.0,两个原因:

1、在研究CAS5.3时,CAS Server部署以后,客户端一直调试通过不过,登录成功以后,来回调整;由于网上CAS5.x以上的文章非常少,所以又部署了CAS4.0.
2、CAS4.0与CAS5.3在去除HTTPS时,修改的配置文件大不一样。

接下来我们进入本文的正题,部署CAS Server4.0
一、CAS Server的部署
1、下载CAS Server
cas官网:https://www.apereo.org/projects/cas
cas server的下载地址:https://github.com/apereo/cas
cas server4.0下载地址:https://github.com/apereo/cas/releases/tag/v4.0.0
注:cas只有很少的几个版本有release版,如4.0.0与3.5.2,其他版本都是源码,需要自己编译;cas自动化构建工具也有还原的Maven换成了gradle.

2、CAS安装
解压缩下载下来的“cas-server-4.0.0-release.zip”
在“modules”文件夹中找到“cas-server-webapp-4.0.0.war”,将其重命名为“cas.war”,在将“cas.war”拷贝到“%TOMCAT_HOME%\webapps”文件夹下。稍等一会儿刷新一下,就会看到Tomcat自动将“cas.war”解压到“cas”文件夹中。如下图:
CAS实现SSO单点登录-CAS Server搭建_第2张图片

3、测试 CAS
在默认配置下,CAS认为只要用户名密码相同即登录成功,cas在配置文件中配置了默认的账号与密码,以后,我们会通过修改配置以实现基于数据库的身份验证。不过目前我们先以默认配置进行测试。

在浏览器中输入网址“http://192.168.1.121:8080/cas/login”,如下图:
CAS实现SSO单点登录-CAS Server搭建_第3张图片

输入账号与密码,默认账号:casuser,密码:Mellon;如果用户名与密码相同,则系统显示登录成功:
CAS实现SSO单点登录-CAS Server搭建_第4张图片
用户可以在浏览器中输入网址“http://192.168.1.121:8080/cas/logout”,则系统自动完成注销操作,如下图:
CAS实现SSO单点登录-CAS Server搭建_第5张图片

至此,服务器端配置全部完成,接下来我们会介绍一下怎么去除服务全的HTTPS,让使用HTTP协议可以访问。

疑问:CAS4.0默认是使用HTTPS访问的,需要修改配置项才可以去除HTTPS,但是我在测试的时候是可以直接使用http访问的,如上图,谁知道原因,帮忙解释一下,谢谢大家了。


CAS实现SSO单点登录-CAS Server搭建_第6张图片
个人微信公众号,欢迎大家关注。

你可能感兴趣的:(其他)