前言
本節主要講解怎么搭建cas服務端,並且在瀏覽器中使用https訪問cas服務端
1、通過cas代碼生成工具(https://casinitializr.herokuapp.com/),生成cas服務端工程(這個需要翻牆)
2、代碼修改
- 修改maven為國內
- 刪除java文件
- 修改日志目錄
2.1、修改sso下的pom.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.jacky.auth</groupId> <artifactId>sso</artifactId> <version>1.0.0</version> <packaging>pom</packaging> <modules> <module>sso-server</module> </modules> <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <cas.version>5.1.3</cas.version> <springboot.version>1.5.3.RELEASE</springboot.version> </properties> <!--為了加快下載jar包速度,修改成國內的代理--> <repositories> <repository> <releases> <enabled>true</enabled> </releases> <id>maven2-release</id> <url>http://uk.maven.org/maven2/</url> </repository>
<repository> <snapshots> <enabled>true</enabled> <!--快照版本庫兩個小時檢查更新一遍--> <updatePolicy>interval:120</updatePolicy> </snapshots> <id>oss-snapshots</id> <url>http://repository.jboss.org/nexus/content/groups/public/</url> </repository> </repositories> </project>
2.2、調整log4j2.xml日子配置文件的位置
- 把
etc/cas/config/log4j2.xml
放到項目的src/main/resources
下。 - 把內容由
<Property name="cas.log.dir" >.</Property>
調整成<Property name="cas.log.dir" >logs</Property>
(修改log文件的輸出路勁為當前目錄的logs文件夾下)
2.3、修改application.properties文件
我們把依賴包下載 的 cas-server-webapp-tomcat/5.1.3/cas-server-webapp-tomcat-5.1.3.war!/WEB-INF/classes/application.properties
拷貝到src/main/resources
下並且進行修改,
主要是
- server.ssl.enabled=true #打開https
-
#SSL配置
server.ssl.key-store=classpath:tomcat.keystore
server.ssl.key-store-password=123456
server.ssl.keyAlias=passport.sso.com
#SSL配置
如下
# CAS Server Context Configuration
server.context-path=/cas
server.port=8443
#關閉https
#server.ssl.enabled=false
#打開https
server.ssl.enabled=true
#SSL配置
server.ssl.key-store=classpath:tomcat.keystore
server.ssl.key-store-password=123456
server.ssl.keyAlias=passport.sso.com
#SSL配置
server.max-http-header-size=2097152
server.use-forward-headers=true
server.connection-timeout=20000
server.error.include-stacktrace=NEVER
server.tomcat.max-http-post-size=2097152
server.tomcat.basedir=build/tomcat
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%t %a "%r" %s (%D ms)
server.tomcat.accesslog.suffix=.log
server.tomcat.max-threads=10
server.tomcat.port-header=X-Forwarded-Port
server.tomcat.protocol-header=X-Forwarded-Proto
server.tomcat.protocol-header-https-value=https
server.tomcat.remote-ip-header=X-FORWARDED-FOR
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
##
# CAS Cloud Bus Configuration
#
spring.cloud.bus.enabled=false
endpoints.enabled=false
endpoints.sensitive=true
endpoints.restart.enabled=false
endpoints.shutdown.enabled=false
management.security.enabled=true
management.security.roles=ACTUATOR,ADMIN
management.security.sessions=if_required
management.context-path=/status
management.add-application-context-header=false
security.basic.authorize-mode=role
security.basic.enabled=false
security.basic.path=/cas/status/**
##
# CAS Web Application Session Configuration
#
server.session.timeout=300
server.session.cookie.http-only=true
server.session.tracking-modes=COOKIE
##
# CAS Thymeleaf View Configuration
#
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.cache=true
spring.thymeleaf.mode=HTML
##
# CAS Log4j Configuration
#
# logging.config=file:/etc/cas/log4j2.xml
server.context-parameters.isLog4jAutoInitializationDisabled=true
##
# CAS AspectJ Configuration
#
spring.aop.auto=true
spring.aop.proxy-target-class=true
##
# CAS Authentication Credentials
#
cas.authn.accept.users=casuser::Mellon
2.4、刪除java文件
包括src/main/java,src/test/java,否則會影響運行
最后目錄結構如下
2.5、為什么不用ect下的文件?
為了配置文件能夠統一起來
3、運行
我們的運行使用cas提供的腳本
初始化命令
build.cmd init
打包命令
build.cmd package
啟動命令
build.cmd run
清理target目錄文件命令
build.cmd clean
如圖:
如果看到如下,恭喜你,項目 啟動成功了
4、訪問測試
https://jacky.sso.com:8443/cas/login
看到頁面
5、測試登錄
默認用戶名/密碼為:casuser/Mellon
登錄成功頁面
6、總結
- 本節利用cas代碼生成器生成cas服務代碼,並且調整代碼
- 結合第一節,實現https統過域名訪問cas服務
歡迎關注