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

发布时间:2024-11-04 点击:146
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
加入如下配置,红色部分按实际情况修改:
<!– ======================== start ======================== –> <context-param> <param-name>casserverlogouturl</param-name> <param-value>https://demo.testcas.com/cas/login</param-value> </context-param> <listener> <listener-class>org.jasig.cas.client.session.singlesignouthttpsessionlistener</listener-class> </listener> <filter> <filter-name>cas single sign out filter</filter-name> <filter-class>org.jasig.cas.client.session.singlesignoutfilter</filter-class> </filter> <filter-mapping> <filter-name>cas single sign out filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>cas filter</filter-name> <filter-class>org.jasig.cas.client.authentication.authenticationfilter</filter-class> <init-param> <param-name>casserverloginurl</param-name> <param-value>https://demo.testcas.com/cas/login</param-value> </init-param> <init-param> <param-name>servername</param-name> <param-value>http://app1.testcas.com</param-value> </init-param> </filter> <filter-mapping> <filter-name>cas filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <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>https://demo.testcas.com/cas</param-value> </init-param> <init-param> <param-name>servername</param-name> <param-value>http://app1.testcas.com</param-value> </init-param> </filter> <filter-mapping> <filter-name>cas validation filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <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> <filter-name>cas assertion thread local filter</filter-name> <filter-class>org.jasig.cas.client.util.assertionthreadlocalfilter</filter-class>

腾讯云服务器怎么设置定时任务管理器
ecs云服务器共享镜像faq
腾讯产品经理思考总结丨PM真的是「背锅侠」!吗?
【马鞍山seo】移动端网站优化会遇到的问题
如何利用高权重网站收录提升关键词排名?
云服务器ecs怎么解析
找人做个小程序多少钱
阿里云服务器ecs类型