一、CAS服務端搭建
1.1 CAS支持Http登錄配置
CAS默認是要https的鏈接才能登錄的,不過學習的話是可以先去掉https限制,本博客介紹的是基於Cas5.3.1的,之前改過4.0,4.2.7的,詳情見https://blog.csdn.net/u014427391/category_7266258.html
CAS5.3.1是基於SpringBoot的版本,CAS4.2.7還是SpringMVC版本
cas的服務端搭建有兩種常用的方式:
-
- 基於源碼的基礎上構建出來的
-
- 使用WAR overlay的方式來安裝
本文介紹WAR overlay的方式,因為源碼的方式,需要搭建gradle環境
ok,先要有git環境,然后使用命令,去github clone代碼到本地
git clone -b 5.3.1 https://github.com/apereo/cas-overlay-template.git
然后進行編譯:
# cmd命令,然后cd到文件夾里
cd cas-overlay-template
# 構建打包
build package
構建成功后,在target里找到cas.war

找到cas.war\WEB-INF\classes \application.properties,加入如下配置:
##
# 支持http方式
#
#開啟識別json文件,默認false
cas.serviceRegistry.initFromJson=true
cas.tgc.secure=false
cas.warningCookie.secure=false
cas.war\WEB-INF\classes\services\HTTPSandIMAPS-10000001.json

然后將war包丟到tomcat,訪問http://127.0.0.1:8080/cas,輸入casuser/Mellon登錄
1.2 CAS Https方式登錄
如果想要用https方式來登錄也是可以的,其實cas默認就是https方式,如果允許可以去阿里購買https證書,不過本文只是以學習為目的,所以就本地搭建模擬
設置域名
打開文件C:\Windows\System32\drivers\etc\hosts添加如下行
127.0.0.1 cas.example.org
生成ssl證書
keytool -genkey -alias cas -keyalg RSA -keysize 2048 -keypass changeit -storepass changeit -keystore casexample.keystore -dname "CN=http://cas.example.org/,OU=casexample.com,O=casexample,L=casexample,ST=casexample,C=CN" -deststoretype pkcs12
然后在apache-tomcat-8.5.54\conf\server.xml,注釋原來的8080端口配置

加入8443的配置,表示開啟https方式:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
enableLookups="false"
acceptCount="100" disableUploadTimeout="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:/apache-tomcat-8.5.54/casexample.keystore"
keystorePass="changeit" />
然后將war包丟到tomcat,訪問https://cas.exampl.org:8443/cas,輸入casuser/Mellon登錄
1.2 CAS服務端部署運行
按照上面方式部署后,將war包丟在Tomcat的webapp里,部署啟動,默認賬號密碼casuser/Mellon,
accept.authn.users=casuser::Mellon

登錄成功,當然在項目中,肯定不能這樣做,這個需要我們配置jdbc或者加上權限校驗等等

單點登出,鏈接是http://127.0.0.1:8080/cas/logout

優質參考博客:
https://www.cnblogs.com/jpeanut/tag/CAS/
https://blog.csdn.net/anumbrella/category_7765386.html
