单点登录CAS使用记(二):部署CAS服务器以及客户端

CAS-Server下载地址:https://www.apereo.org/projects/cas/download-cas

创新互联服务项目包括浦东网站建设、浦东网站制作、浦东网页制作以及浦东网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,浦东网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到浦东省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

CAS-Client下载地址:http://developer.jasig.org/cas-clients/

CAS官方教程:https://wiki.jasig.org/display/CASUM/CAS+on+Windows+Quick+Setup+Guide

版本:

CAS Server版本:cas-server-3.4.11 CAS Client版本:cas-client-3.2.1

一:下载并且导入

1.下载CAS

cas-server-3.4.11-release.zip

cas-client-3.2.1-release.zip

2.解压cas-server-3.4.11-release.zip

可以看到压缩包中有许多项目,我们只需要选用两个项目

cas-server-core:主要业务功能实现,最终打包成jar被cas-server-webapp所使用

cas-server-webapp:为CAS-server主项目,集中了各种配置文件

其他都是一些扩展项目,特定情况下可以选用。

modules下存放了打的好各种jar、wa包,如果你想要直接使用,无需修改源码,可以直接把这两个项目

部署到Tomcat下面,直接启动。我这边需要查看源码,所以把源码直接导入Eclipse中,在Eclipse中启动。

3.解压cas-client-3.2.1-release.zip

cas-client-core导入Eclipse

二:配置CAS-Client

我现在有两个项目需要整合单点登录,两个项目分部被绑定到测试域名

项目1:app1.testcas.com

项目2:app2.testcas.com

Cas-Server项目:demo.testcas.com

备注:cas-client需要commons-logging的支持,如果你的项目没有导入本jar包,需要额外导入。

打开项目1的WEB-INF/web.xml

加入如下配置,红色部分按实际情况修改:

casServerLogoutUrl https://demo.testcas.com/cas/login org.jasig.cas.client.session.SingleSignOutHttpSessionListener CAS Single Sign Out Filter org.jasig.cas.client.session.SingleSignOutFilter CAS Single Sign Out Filter /* CAS Filter org.jasig.cas.client.authentication.AuthenticationFilter casServerLoginUrl https://demo.testcas.com/cas/login serverName http://app1.testcas.com CAS Filter /* CAS Validation Filter org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter casServerUrlPrefix https://demo.testcas.com/cas serverName http://app1.testcas.com CAS Validation Filter /* CAS HttpServletRequest Wrapper Filter org.jasig.cas.client.util.HttpServletRequestWrapperFilter CAS HttpServletRequest Wrapper Filter /* CAS Assertion Thread Local Filter org.jasig.cas.client.util.AssertionThreadLocalFilter CAS Assertion Thread Local Filter /*

修改项目1的pom.xml

org.jasig.cas.client cas-client-core 3.2.1

项目2按照同样步骤修改,只不过相应地址要适当修改。

三.启动三个项目

Cas-Server

app1

app2

在地址栏输入:https://demo.testcas.com/cas/login

默认的认证处理器支持那些用户名等于密码的账号,所以任意输入相同的用户名与密码即可登入。

四.单点登录

此时,我们已经实现了最简单的单点登录。

1.如果用户还未登录,此时无论访问app1的哪个网址,页面都会cas-client重定向到CAS登录页面。

重定向后的网址类似:

https://demo.testcas.com/cas/login?service=http%3A%2F%2Fapp1.testcas.com%2Fb2c-haohai-server%2Fuser%2FcasLogin

后缀了一个service参数。

2.当用户输入用户名与密码后点击登录,页面又会被重定向会刚才想要访问的页面,并且后缀了ticket参数

网址类似:

http://app1.testcas.com/b2c-haohai-server/user/casLogin?ticket=ST-1-l9mf0oHYjZdSSSVBQcd1-cas

3.当此时,用户再访问app2的网址时,这时就会绕过原有的登录页面,直接登入app2,app2实现了免登陆

网址类似:

http://app2.testcas.com/b2c-server/user/casLogin?ticket=ST-2-VDMdOnCx9gAAnyQ3xfET-cas

4.当用户在浏览器输入

https://demo.testcas.com/cas/logout

强行注销后,再访问app1或者app2又会被重定向到CAS登录页面。


单点登录CAS使用记系列:

单点登录CAS使用记(一):前期准备以及为CAS-Server配置SSL协议 单点登录CAS使用记(二):部署CAS服务器以及客户端 单点登录CAS使用记(三):实现自定义验证用户登录 单点登录CAS使用记(四):为登录页面加上验证码 单点登录CAS使用记(五):cas-client不拦截静态资源以及无需登录的请求。 单点登录CAS使用记(六):单点登出、单点注销 单点登录CAS使用记(七):关于服务器超时以及客户端超时的分析 单点登录CAS使用记(八):使用maven的overlay实现无侵入的改造CAS

网页标题:单点登录CAS使用记(二):部署CAS服务器以及客户端
本文来源:http://pwwzsj.com/article/cjeisp.html

其他资讯