- 下載cas maven overlay template代碼掩驱,https://github.com/apereo/cas-overlay-template
- 目前最新版是6.x,但是需要java11以上冬竟,我們還是使用java8欧穴,所以選擇了5.3
- 打開工程,如果要讓cas直接連接數(shù)據(jù)庫做用戶驗證泵殴,在POM里添加依賴:
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc</artifactId>
<version>${cas.version}</version>
</dependency>
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc-drivers</artifactId>
<version>${cas.version}</version>
</dependency>
如果連接oracle數(shù)據(jù)庫苔可,需要額外添加oracle驅(qū)動
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc11-production</artifactId>
<version>21.3.0.0</version>
<type>pom</type>
</dependency>
- 配置文件默認(rèn)位置/etc/cas/config/cas.properties,添加數(shù)據(jù)庫配置:
cas.authn.jdbc.query[0].user=root
cas.authn.jdbc.query[0].password=123456
cas.authn.jdbc.query[0].driverClass=oracle.jdbc.driver.OracleDriver
cas.authn.jdbc.query[0].url=jdbc:oracle:thin:@192.168.1.2:1521:orcl
cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.Oracle11gDialect
cas.authn.jdbc.query[0].sql=SELECT USERNAME,PASSWORD FROM USERS WHERE USERNAME=?
cas.authn.jdbc.query[0].fieldPassword=PASSWORD
- 禁用默認(rèn)用戶
cas.authn.accept.users=
- 數(shù)據(jù)庫密碼字段如果是加密的袋狞,需要cas配置加密信息焚辅,以BCRYPT為例:
cas.authn.jdbc.query[0].passwordEncoder.type=BCRYPT
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
cas.authn.jdbc.query[0].passwordEncoder.strength=10
- 三方系統(tǒng)對接CAS SSO時,需要在cas中配置哪些服務(wù)可以訪問cas苟鸯,可以通過添加下面的依賴同蜻,然后通過配置外部的json文件來配置service。
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-json-service-registry</artifactId>
<version>${cas.version}</version>
</dependency>
配置文件里添加service文件路徑
cas.serviceRegistry.json.location=file:/etc/cas/services
在/etc/cas/services里新建gateway-1.json文件早处,文件名有要求湾蔓,必須是{name}-{id}.json, serviceId是系統(tǒng)的url,支持通配符砌梆。例如:
{
"@class" : "org.jasig.cas.services.RegexRegisteredService",
"serviceId" : "^http://.*",
"name" : "gateway",
"theme" : "gateway",
"id" : 1,
"description" : "Gateway",
"evaluationOrder" : 10,
"accessStrategy" : {
"@class" : "org.jasig.cas.services.DefaultRegisteredServiceAccessStrategy",
"enabled" : true,
"ssoEnabled" : true
}
}
完整屬性參考https://apereo.github.io/cas/5.3.x/installation/Service-Management.html
- 執(zhí)行build.sh package默责,然后將cas.war放到tomcat里啟動。
至此咸包,一個基本功能的cas server搭建完畢桃序,如果用到生產(chǎn)環(huán)境,要配置https烂瘫,高可用等媒熊。