cas+shiro+springboot+pac4j 自定義登陸介面以及驗證碼等
首先 我把主要參考的文章貼出來:
https://blog.csdn.net/weixin_39819191/article/details/80361301
https://blog.csdn.net/u010588262/article/category/7548325
雖然有以上專案 而且還有zip包 但是還是讓我吃盡了苦頭 忙了不到一個禮拜的樣子
所有程式碼 zip 如沒有積分/C幣 ,可以聯絡我 !
https://download.csdn.net/download/wuhaotian1996/10746653
github
客戶端 服務端上傳遇到問題(請先用zip包解壓後使用)
https://github.com/1194449282/shiro-cas-pac4j.git
本文非常適合新手 小白等 有些操作沒有細究 有歧義或者錯誤地方請指出!
cas 分為服務端和客戶端
首先是服務端
解壓縮cas-overlay-template-5.3 cmd命令到壓縮後的資料夾下
mvn clean package
1生成keystore
keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "D:\keystore\tomcat.keystore"
名稱與姓氏 : passport.sso.com 其他的隨便輸入 密碼123456
2 生成crt
keytool -export -file D:\keystore\cas.crt -keystore D:\keystore\tomcat.keystore -alias tomcat
第1 2 步完成後 會出現
第三步 重要 一定要放在jre下 我之前直接放在lib下,認證cas後 一直callback錯誤
keytool -import -file D:\keystore\cas.crt -alias tomcat -keystore D:\developSoft\Softs\JDK\jdk1.8.0_77\jre\lib\security\cacerts -storepass 123456
然後我說說明一下 生成這三個檔案的作用
keystore 配置tomcat 中server.xml用到
crt 證書 給瀏覽器 防止瀏覽器攔截(個人認為意義不大) 一般瀏覽器點高階 放開就可以了
cacerts 這個不需要其他配置 只需要執行時 用這個jdk即可
下一步配置本地tomcat server.xml
刪除:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
新增: keystoreFile為自己的 keystore目錄
<Connector
protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" keystoreFile="D:\keystore\tomcat.keystore" keystorePass="123456" clientAuth="false" sslProtocol="TLS"/>
還有一個地方 忘記什麼時候配置的了 複製即可:
<Connector port="8090" protocol="HTTP/1.1"
connectionTimeout="20000"
SSLEnabled="true" maxThreads="150"
scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="D:\\keystore\\tomcat.keystore" keystorePass="123456" />
下一步配置tomcat
執行之前需要把overlays的lib 新增到本地 不然包路徑報紅色
右鍵lib
客戶端是不需要做任何改動的
host本地
127.0.0.1 passport.sso.com
127.0.0.1 www.casclient1.com
127.0.0.1 www.hugeo.com
輸入 http://www.casclient1.com:8082/xxxx
都會跳轉至cas登陸頁面
登陸之後會到客戶端 登出需要passport.sso.com:9898/cas/logout