CAS实现SSO单点登录-CAS Server 5.3搭建 cas5.3搭建 cas5.3去除https cas 去除https cas 5.x 去除https
我们在之前的博文中讲解了CAS 4.0 Server的搭建过程,这篇博文我们来说了CAS5.3 Server的搭建过程,为什么要说一下CAS5.3的搭建过程呢,因为从cas4.2以上的代码做了一些框架的优化,4.2以下的版本的很多配置都是写在xml文件中。4.2以上统一提取到了cas.properties或者application.properties文件中;所以在去掉https的时候 方式也有所变化。
一、下载CAS5.3
CAS5.3 Server我们下载cas-overlay-template版本
下载地址:https://github.com/apereo/cas-overlay-template
打开网址,点击左上角的Branch master可以选择要下载的版本,这里我们下载最新版。
二、编译CAS5.3
由于cas4.0以上就不再提供release版本,所以需要我们自己编译;我们将下载下来的压缩包放到某个目录下面,通过cmd进入该目录,依据官方文档上的编译方法,我们编译,如下图:
在cmd,运行”build.cmd run”,编译文件,编译时间会比较上,编译完成以后,会在所在目录生成一个target文件夹,如下图:
进入target文件夹,可以看到一个扩展名为.war的文件,如下图:
三、CAS5.3的安装部署
把步骤二生成的.war文件拷贝到webapps目录下面,启动tomcat,会自动解压缩.解压缩完成以后,通过浏览器http://192.168.1.121:8080/cas/login,如下图:
看到上图表示安装成功。
四、去除HTTPS
(1)打开WEB-INF/classess/application.properties,在最下面添加如下代码:
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true
还需要如下地方:
添加:server.ssl.enabled=false
注释掉:
#server.ssl.key-store=file:/etc/cas/thekeystore
#server.ssl.key-store-password=changeit
#server.ssl.key-password=changeit
添加完成以后,如下图:
(2)、打开WEB-INF/classess/services/HTTPSandIMAPS-10000001.json,如下图:
修改为如下图:
如果不加上图的proxyPolicy节点,总是报一下错误
疑问:谁要知道原因的话,告诉我一下
至此CAS Server5.3配置完成。
五、CAS 5.3测试
(1)、首先通过浏览器访问http://192.168.1.121:8080/cas/login,输入账号、密码(casuser/Mellon);如下图:
(2)、启动Cas Net Client,如下图:
(3)、点击左上角的”Authenticated Users Only”,跳转到认证中心,在认证中心输入账号与密码,点击登录,登录成功,调整到Client页面,如下图:
(4)、点击左上角的”Home”,返回到主页面,显示认证信息,如下图:
至此Cas Server5.3搭建完毕。
六、大家过程中碰到的问题
启动客户端,跳转到认证中心,登录成功以后,在客户端验证时,总是返回”INVALID_PROXY_CALLBACK”,所提供的代理回调网址不能提供认证,如下图:
搜索了好久才找到了解决方法,解决方法是修改WEB-INF/classes/services/HTTPSandIMAPS-10000001.json,添加proxyPolicy节点,如下图:
参考资料
1、https://stackoverflow.com/questions/34119307/the-supplied-service-localhost-is-not-authorized-to-use-cas-proxy-authentication
2、https://blog.csdn.net/zzq900503/article/details/54910609
3、https://www.cnblogs.com/xiaojf/p/6617693.html
4、https://apereo.github.io/cas/5.3.x/installation/Configuration-Properties.html#global-sso-behavior