搭建cas服務(wù)器

一、編譯

1. 下載最新版的cas : https://codeload.github.com/apereo/cas/zip/v5.0.10

2. 解壓代碼(沒(méi)有安裝gradle環(huán)境的需要先安裝gradle環(huán)境)

? ? 進(jìn)入? F:\安裝包\cas-5.0.10\cas-5.0.10\webapp\cas-server-webapp, 執(zhí)行 gradle build

? ? 進(jìn)入 F:\安裝包\cas-5.0.10\cas-5.0.10\support\cas-server-support-jdbc,執(zhí)行 gradle build

3. 生成證書

? 使用jdk的keytool生成證書,生產(chǎn)環(huán)境需要到證書服務(wù)中心申請(qǐng),進(jìn)入 C:/Program Files/Java/jdk1.8.0_131/bin (這個(gè)jdk的目錄,根據(jù)自己安裝的jdk定) ,密碼統(tǒng)一設(shè)置為 changeit

? ? # 生成

? ? keytool -genkey -alias sso_server -keypass changeit -keyalg RSA -keystore sso_server.keystore

? ? # 導(dǎo)出

? ? keytool -export -alias sso_server -keypass changeit -file sso_server.crt -keystore sso_server.keystore

? ? # 導(dǎo)入 (導(dǎo)入前先備份cacerts文件,以防萬(wàn)一)

? ? keytool -import -alias sso_server -file sso_server.crt -keypass changeit -keystore "C:/Program Files/Java/jdk1.8.0_131/jre/lib/cacerts"

4. 部署到tomcat

修改tomcat目錄下conf/server.xml ,新增https配置,keystoreFile為上面生成的證書

圖1

將上面編譯成功的 cas-server-webapp-5.0.10.war 改名為cas.war, 放到tomcat的webapps目錄下,啟動(dòng)tomcat

在瀏覽器輸入https://localhost:8443/, 出現(xiàn)tomcat的頁(yè)面,說(shuō)明http配置成功

在瀏覽器輸入https://localhost:8443/cas/login, 出現(xiàn)cas登錄頁(yè)面,說(shuō)明cas部署成功

5. 配置數(shù)據(jù)源

新建數(shù)據(jù)庫(kù) sso_test, 創(chuàng)建表?

CREATE TABLE `users` (

`id`? int(11) NOT NULL ,

`username`? varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,

`password`? varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,

PRIMARY KEY (`id`)

)

ENGINE=InnoDB

DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci

ROW_FORMAT=DYNAMIC

進(jìn)入tomcat目錄 webapps/cas/WEB-INF, 修改? deployerConfigContext.xml文件

新增數(shù)據(jù)源配置, 參考官方文檔?配置數(shù)據(jù)庫(kù)認(rèn)證

圖2

新增認(rèn)證handler定義 :?

圖3

cas.properties文件 新增配置

# 用于驗(yàn)證用戶名和密碼

cas.jdbc.authn.query.sql=select password from users where username=?

# == Basic database connection pool configuration ==

database.driverClass=com.mysql.jdbc.Driver

database.url=jdbc:mysql://172.16.8.147:3306/sso_test?useUnicode=true&characterEncoding=UTF-8

database.user=dba

database.password=123456

database.pool.minSize=6

database.pool.maxSize=18

# Maximum amount of time to wait in ms for a connection to become

# available when the pool is exhausted

database.pool.maxWait=10000

# Amount of time in seconds after which idle connections

# in excess of minimum size are pruned.

database.pool.maxIdleTime=120

# Number of connections to obtain on pool exhaustion condition.

# The maximum pool size is always respected when acquiring

# new connections.

database.pool.acquireIncrement=6

# == Connection testing settings ==

# Period in s at which a health query will be issued on idle

# connections to determine connection liveliness.

database.pool.idleConnectionTestPeriod=30

# Query executed periodically to test health

database.pool.connectionHealthQuery=select 1

# == Database recovery settings ==

# Number of times to retry acquiring a _new_ connection

# when an error is encountered during acquisition.

database.pool.acquireRetryAttempts=5

# Amount of time in ms to wait between successive aquire retry attempts.

database.pool.acquireRetryDelay=2000

拷貝 cas-server-support-jdbc-5.0.10.jar (上面用gradle build生成的文件)到webapps/WEB-INF/lib目錄

拷貝 mysql-connector-java-5.1.41.jar(這個(gè)需要自己下載) 到webapps/WEB-INF/lib目錄

重啟tomcat,打開 https://localhost:8443/cas/login, 輸入數(shù)據(jù)庫(kù)配置的用戶名+密碼,登錄成功,說(shuō)明數(shù)據(jù)庫(kù)配置成功。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 搭建CAS服務(wù)器# cas的版本比較多,先在網(wǎng)上搜了一下各種教程配置經(jīng)驗(yàn)。本來(lái)想搭建最新的CAS版本,然而為了快速...
    Dapianzi_灰灰鴿閱讀 1,837評(píng)論 2 0
  • 【環(huán)境說(shuō)明】: 本文演示過(guò)程在同一個(gè)機(jī)器上的(也可以在三臺(tái)實(shí)體機(jī)器或者三個(gè)的虛擬機(jī)上),環(huán)境如下: windows...
    yljava閱讀 9,334評(píng)論 3 8
  • 服務(wù)器https配置 配置https操作說(shuō)明文檔 1、查看服務(wù)器環(huán)境配置(tomcat和apache合并使用) 2...
    南京楊小兵閱讀 8,919評(píng)論 0 9
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,923評(píng)論 18 139
  • JEESZ分布式框架單點(diǎn)登錄集成方案 第一節(jié):?jiǎn)吸c(diǎn)登錄簡(jiǎn)介 第一步:了解單點(diǎn)登錄 SSO主要特點(diǎn)是: SSO應(yīng)用之...
    ITsupuerlady閱讀 718評(píng)論 0 0