| H__D |
|
||
CAS 介紹CAS(Central Authentication Service)是一個開源的單點登錄(SSO)解決方案,旨在為多個應(yīng)用程序提供統(tǒng)一的身份驗證服務(wù)。它允許用戶在一個地方登錄,并在多個應(yīng)用程序之間共享會話信息,從而簡化用戶的登錄體驗和提高安全性。 官網(wǎng):https://github.com/apereo/cas CAS 服務(wù)的主要特性
安裝環(huán)境準備0、閱讀:READMEmld 1、準備Java的JDK,本例使用的是JDK 1.8 CAS 安裝由于本例JDK是1.8,所以CAS使用 5.3 版本,在高的版本需要升級JDK 安裝前閱讀項目:README.md 文件 1. 下載cas5.3服務(wù)端cas5.3服務(wù)端下載:https://github.com/apereo/cas-overlay-template/tree/5.3 cas-overlay-template項目是可覆蓋的模板項目,Overlay的意思就是覆蓋文件,即如果是配置文件則覆蓋相同目錄中的文件,如果是類文件則編譯后覆蓋相同包中的類class文件,如果是新文件則添加到相應(yīng)的目錄中。 2. 使用idea項目,打開目錄如下,使用maven package命令打包,在target目錄下得到war包,安裝前閱讀項目:README.md 文件 3、使用自帶腳本生成密鑰 此步驟也可以自己手動創(chuàng)建密鑰,參考:【Java】使用JDK自帶工具生成密鑰對 - H__D - 博客園 切換到項目目錄,打開命令窗口,腳本文件(windows:build.cmd ;linux:build.sh) 命令:.\build.cmd gencert 在cas的配置目錄 /etc/cas中,可以找到對應(yīng)證書 ?。蛇x)根據(jù)提示,可以將轉(zhuǎn)換密鑰庫格式 命令:keytool -importkeystore -srckeystore \etc\cas\thekeystore -destkeystore \etc\cas\thekeystore -deststoretype pkcs12 4、使用自帶腳本啟動項目 啟動命令:.\build.cmd run 開發(fā)中,可以使用啟動命令:.\build.cmd bootrun 4. 使用瀏覽器訪問地址:https://localhost:8443/cas/ 默認用戶可以在 項目目錄\target\cas\WEB-INF\classes\application.properties 找到(用戶:casuser,密碼:Mellon) cas.authn.accept.users=casuser::Mellon 證書情況 5. 修改配置在項目中新建目錄 src/main/resources, 從target/war/work/cas-server-webapp-tomcat的WEB-INF\classes目錄下拷貝application.properties,log4j2.xml文件 或者也可以解壓cas.war,在其中找到文件 在application.properties中 修改默認用戶 cas.authn.accept.users=admin::123456 CAS啟動情況一:無證書啟動1. 修改配置在application.properties中,將下面4個默認配置注釋掉#server.ssl.key-store=file:/etc/cas/thekeystore #server.ssl.key-store-password=changeit #server.ssl.key-password=changeit #server.tomcat.protocol-header-https-value=https 2. 打包啟動使用腳本啟動,啟動命令:.\build.cmd run 瀏覽器訪問地址:http://localhost:8443/cas/
使用對應(yīng)的賬號密碼即可登錄 情況二:tomcat啟動準備tomcat,本例使用的是tomcat 9 參考:【Linux】Tomcat安裝及一個服務(wù)器配置多個Tomcat - H__D - 博客園 有證書的情況 將證書放到配置目錄 tomcat目錄/conf 中, 配置https證書
<!-- RSA 格式證書 --> <!-- <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" maxParameterCount="1000" > <SSLHostConfig> <Certificate certificateKeystoreFile="conf\thekeystore.old" certificateKeystorePassword="changeit" type="RSA" /> </SSLHostConfig> </Connector> --> <!-- <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" maxParameterCount="1000" > <SSLHostConfig> <Certificate certificateKeystoreFile="E:\etc\cas\thekeystore.old" certificateKeystorePassword="changeit" type="RSA" /> </SSLHostConfig> </Connector> --> <!-- PKCS12 格式證書 --> <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="conf\thekeystore" certificateKeystorePassword="changeit"/> </SSLHostConfig> </Connector> <!-- <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true"> <SSLHostConfig> <Certificate certificateKeystoreFile="E:\etc\cas\thekeystore" certificateKeystorePassword="changeit"/> </SSLHostConfig> </Connector> --> 正常啟動tomcat即可,使用 https://localhost:8443/cas 訪問 證書的情況 正常啟動tomcat即可,使用 http://localhost:8443/cas 訪問 項目自帶腳本build.cmdlinux系統(tǒng)使用腳本 build.sh 命令幫助:build.cmd help 運行項目命令:build.cmd run README.md 解釋
下面是對 CAS Overlay Template 的解釋。這是一個用于搭建和運行最新版本 CAS 服務(wù)器的通用 WAR overlay 模板。這個模板可以作為本地 CAS WAR overlay 的起點。 ### 版本 ```xml <cas.version>5.3.x</cas.version> ``` - 這個模板使用 CAS 版本 5.3.x。 ### 要求 - 需要 JDK 1.8 及以上版本。 ### 配置 - `etc` 目錄包含需要復制到 `/etc/cas/config` 的配置文件和目錄。 ### 構(gòu)建 - 查看可用的構(gòu)建命令: ```bash ./build.sh help ``` - 打包最終的 web 應(yīng)用程序: ```bash ./build.sh package ``` - 更新 `SNAPSHOT` 版本: ```bash ./build.sh package -U ``` ### 部署 - 創(chuàng)建一個名為 `thekeystore` 的密鑰庫文件在 `/etc/cas` 目錄下。使用密碼 `changeit` 作為密鑰庫和密鑰/證書條目的密碼。 - 確保密鑰庫中包含服務(wù)器的密鑰和證書。 成功部署后,通過以下方法可以訪問 CAS: - `http://cas.server.name:8080/cas` - `https://cas.server.name:8443/cas` ### 可執(zhí)行 WAR - 作為可執(zhí)行 WAR 運行 CAS web 應(yīng)用程序: ```bash ./build.sh run ``` ### Spring Boot - 通過 Spring Boot 作為可執(zhí)行 WAR 運行 CAS web 應(yīng)用程序。這在開發(fā)和測試期間非常有用: ```bash ./build.sh bootrun ``` ### 警告 - 使用這種部署方法時要小心。`bootRun` 并不是為已經(jīng)可執(zhí)行的 WAR 工件設(shè)計的,比如 CAS 服務(wù)器 web 應(yīng)用程序。這種模式 **僅在沒有其他依賴項** 并且 `cas-server-webapp` 是唯一存在的模塊時有效。更多信息請參見 [這個問題](https://github.com/spring-projects/spring-boot/issues/8320)。 ### Spring Boot 應(yīng)用服務(wù)器選擇 - 在 `pom.xml` 中有一個 `app.server` 屬性,可以用來選擇 Spring Boot 應(yīng)用服務(wù)器。 - 默認值是 `-tomcat`,但也支持 `-jetty` 和 `-undertow`。 - 如果你想將 CAS 部署到你選擇的外部應(yīng)用服務(wù)器,可以將其設(shè)置為空值。 ```xml <app.server>-tomcat</app.server> ``` ### Windows 構(gòu)建 - 如果你在 Windows 上構(gòu)建,請嘗試使用 `build.cmd` 而不是 `build.sh`。參數(shù)類似,但使用方法如下: ```bash build.cmd help ``` ### 外部部署 - 將生成的 `target/cas.war` 部署到你選擇的 servlet 容器中。 ### 命令行 Shell - 調(diào)用 CAS 命令行 Shell。要查看命令列表,可以不使用任何參數(shù)或使用 `-h`。要進入交互式 shell,請使用 `-sh`。 ```bash ./build.sh cli ``` 這個模板提供了一個快速入門的方式,使你能夠快速搭建和運行 CAS 服務(wù)器,并根據(jù)需要進行定制和配置。如果你有其他問題或需要進一步的幫助,請隨時告訴我!
參考:https://blog.csdn.net/wangwenke2003/article/details/80348998 參考:http://www.rzrgm.cn/wuyongyin/p/16034502.html 參考:https://www.jb51.net/program/315428xsz.htm
|
![]() |
|
|
博客園
|
|