①②③④⑤⑥⑦⑧⑨⑩⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳✕✓✔✖
按照官网的说明,在linux
中可以使用这个脚手架来完成相关内容。其中如果https://casinit.herokuapp.com
不能访问,建议用Docker,在本地生成一个 8080 服务,然后生成代码。
用脚手架生成代码,这里主要是生成 CAS overelay。详细的用法看[官网说明](https://gitee.com/forkcodes/cas-initializr
# curl http://localhost:8080/starter.zip -o cas.zipcurl https://casinit.herokuapp.com/starter.zip -o cas.zip
这里使用了casinit.herokuapp.com
现成的代码,如果上述网站不能访问,也可以采用下面的方法搭建脚手架:
查看下载代码的readme
./gradlew clean build
./gradlew tasks
输出的有
CAS tasks---------casVersion - Display the current CAS versioncontainerImageCoords - Display the coordinates for the container imagecopyCasConfiguration - Copy the CAS configuration from this project to /etc/cas/configcreateKeystore - Create CAS keystorecreateTheme - Create theme directory structure in the overlaydebug - Debug the CAS web application in embedded mode on port 5005executable - Run the CAS web application in standalone executable modeexportConfigMetadata - Export collection of CAS propertiesgetResource - Fetch a CAS resource and move it into the overlaylistTemplateViews - List all CAS viewssetExecutable - Configure the project to run in executable modeshowConfiguration - Show configurations for each dependency, etcunzip - Explodes the CAS archive and resources jar from the CAS web application archiveunzipWAR - Explodes the CAS web application archive
准备目录:由于权限的问题,这里需要先建立一个目录
#创建一个文件夹sudo mkdir /etc/cas#将当前用户:fan添加给这个目录 ,如果是其他用户,请修改用户名sudo chown -R root.fan /etc/cas#给fan有写的权限sudo chmod 771 /etc/cas
执行命令
./gradlew createKeystore
证书存储在文件 </etc/cas/cas.crt> 中。 这里生成证书的密码默认是:changeit
。 Demo 可以用,但是今后要修改了。
可以执行代码,并通过浏览器打开:https://localhost:8443/cas
java -jar build/libs/cas.war# 或者下面的命令./gradlew run
CAS
默认后台登陆密码deployerConfigContext.xml
<bean id="primaryAuthenticationHandler" class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler"><property name="users"><map><entry key="casuser" value="Mellon"/></map></property></bean>
第一步:启动 Debug
./gradlew debug
有两点要注意:
第二步:在 Idea 中,添加远程 Debug
第三步:设置断点,进行调试
例如用ctrl+n
打开类UsernamePasswordCredential
, 然后设置断点看看。
不让 cas 用 https 来启动
cas:server:name: http://127.0.0.1:8090prefix: ${cas.server.name}/casserver:port: 8090ssl:enabled: false