云南网络网站推广,做旅游的网站在哪里做,红酒网页设计图片,长沙景观设计公司CAS服务端入门使用实践
一、前言
1.简介
CAS 是一个企业多语言单点登录解决方案#xff0c;支持大量附加身份验证协议和功能#xff0c;满足身份验证和授权需求的综合平台。
2.环境
Windows 10JDK 1.8git version 2.41.0.windows.3Tomcat 9.0.78Maven 3.5.3cas-overlay-…CAS服务端入门使用实践
一、前言
1.简介
CAS 是一个企业多语言单点登录解决方案支持大量附加身份验证协议和功能满足身份验证和授权需求的综合平台。
2.环境
Windows 10JDK 1.8git version 2.41.0.windows.3Tomcat 9.0.78Maven 3.5.3cas-overlay-template-5.3 CAS Homehttps://apereo.github.io/cas cas-overlay-template - GitHubhttps://github.com/apereo/cas-overlay-template/tree/5.3 REST-Protocolhttps://apereo.github.io/cas/development/protocol/REST-Protocol.html Tomcat 9https://tomcat.apache.org/download-90.cgi Anumbrella - CAS 专栏https://blog.csdn.net/anumbrella/category_7765386.html Shuyun123 - GitHubhttps://github.com/Shuyun123/CAS 二、使用实践
1.编译项目
下载项目https://github.com/apereo/cas-overlay-template/tree/5.3解压 cas-overlay-template-5.3.zip进入文件夹 cas-overlay-template-5.3
第一种编译 使用 Git 命令窗口 右击 - Open Git Bash here
./build.sh package第二种编译
CMD 窗口
build.cmd packageCAS 编译后的目录cas-overlay-template-5.3\target\cas
2.部署项目 下载 Tomcat 9https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.78/bin/apache-tomcat-9.0.78.zip 解压 Tomcat 将 target 文件夹下的 cas 文件夹拷贝到 Tomcat 中apache-tomcat-9.0.78\webapps 注意JDK 版本是1.8 启动 Tomcat双击 apache-tomcat-9.0.78\bin\startup.bat 浏览器访问http://127.0.0.1:8080/cas 默认账号密码casuser::Mellon 默认账号密码配置文件 cas-overlay-template-5.3\target\cas\WEB-INF\classes\application.properties 3.配置HTTPS
登录页面的黄色背景提示内容
非安全连接
您当前正在通过非安全连接访问 CAS。单点登录不起作用。为了进行单点登录您必须通过 HTTPS 登录。1生成密钥 JDK 的 bin 目录下执行 记住密码导出证书需要使用 您的名字与姓氏是什么填写域名例如test.org
keytool -genkey -alias mycacerts -keyalg RSA -keystore D:/ssh-key/keycard2导出证书
JDK 的 bin 文件夹下执行
keytool -export -file D://ssh-key/keycard.crt -alias mycacerts -keystore D:/ssh-key/keycard3Tomcat配置HTTPS 编辑 apache-tomcat-9.0.78\conf\server.xml 新增 8443 端口的 HTTPS 配置 修改具体的密钥路径和密钥库口令与生成密钥时相同
Connector port8443 protocolorg.apache.coyote.http11.Http11NioProtocolmaxThreads150 SSLEnabledtruemaxParameterCount1000schemehttps securetrue clientAuthfalse sslProtocolTLSkeystoreFileD:/ssh-key/keycard keystorePass123456
/Connector4配置 hosts 文件
编辑 C:\Windows\System32\drivers\etc\hosts与生成密钥时相同
127.0.0.1 test.org5测试 关闭科学上网软件无则忽略 浏览器访问https://test.org:8443/cas 4.未认证授权的服务
客户端跳转提示
未认证授权的服务
CAS的服务记录是空的没有定义服务。 希望通过CAS进行认证的应用程序必须在服务记录中明确定义。1编辑 cas\WEB-INF\classes\services\HTTPSandIMAPS-10000001.json
加入 http 的支持
{class : org.apereo.cas.services.RegexRegisteredService,serviceId : ^(https|imaps|http)://.*,name : HTTPS and IMAPS,id : 10000001,description : This service definition authorizes all application urls that support HTTPS and IMAPS protocols.,evaluationOrder : 10000
}2编辑 cas\WEB-INF\classes\application.properties
#是否开启json识别功能,默认为false
cas.serviceRegistry.initFromJsontrue
#忽略https安全协议使用 HTTP 协议
cas.tgc.securefalse5.二次开发
1登录认证方式
认证方式依赖包白名单cas-server-support-generic黑名单JDBC 认证Shiro 认证cas-server-support-shiro-authenticationRest 认证cas-server-support-rest-authentication自定义登录认证cas-server-core-authentication-api cas-server-core-configuration-api
2修改CAS服务端登录界面
1隐藏头部和底部
编辑cas\WEB-INF\classes\templates\layout.html
body
!-- div th:replacefragments/header :: headera hreffragments/header.htmlHeader/a fragment will go here
/div --main rolemain classcontainer mt-3 mb-3div layout:fragmentcontent idcontentCAS content will go here/div
/main!-- div th:replacefragments/footer :: footera hreffragments/footer.htmlFooter/a fragment will go here
/div --script th:replacefragments/scripts/
/body2隐藏右侧 Links to CAS Resources
编辑cas\WEB-INF\classes\templates\casLoginView.html
body classlogin
main rolemain classcontainer mt-3 mb-3div layout:fragmentcontent classrowdiv classcol-mddiv th:replacefragments/loginform :: loginforma hreffragments/loginform.htmlLogin Form goeshere/a/div/divdiv idnotices classcol-md mt-3 mt-md-0!-- div th:replacefragments/insecure :: insecurea hreffragments/insecure.htmlinsecure alert goeshere/a/divdiv th:replacefragments/defaultauthn :: staticAuthenticationa hreffragments/defaultauthn.htmldefaultAuthn/afragment/divdiv th:replacefragments/cookies :: cookiesDisableda hreffragments/cookies.htmlcookies/a fragment/divdiv th:replacefragments/serviceui :: serviceUIa hreffragments/serviceui.htmlservice ui/a fragment/divdiv th:replacefragments/loginProviders :: loginProvidersa hreffragments/loginProviders.htmlloginProviders/afragment/divdiv th:replacefragments/cas-resources-list :: cas-resource-lista hreffragments/cas-resources-list.htmlcas-resource/a list fragment/div --/div/div
/main
/body3隐藏登录按钮下的提示
编辑cas\WEB-INF\classes\templates\fragments\loginform.html
!-- div th:replacefragments/loginsidebar :: loginsidebar / --4登录界面左侧显示图片 拷贝图片到文件夹cas\WEB-INF\classes\static\images 编辑cas\WEB-INF\classes\static\css\cas.css
#notices {border-color: #008;color: #008;background-image: url(../images/login_img.png);
}5更换浏览器标签页图标
替换图片文件cas\WEB-INF\classes\static\favicon.ico