二. CAS5.3X 单点登录-自定义风格主题开发

cas 5.3.x 服务端搭建(三)自定义登录主题(样式) 首先在service目录下创建一个json文件形式为[theme-id].json 其中内容配置如下: {   "@class" : "org.apereo.cas.services.RegexRegisteredService",   "serviceId" : "^(https|imaps|http)://(localhost|www.hanyalei.com).*",   "name" ... 阅读详情

本章内容介绍cas项目自定义风格主题开发


我用到的cas版本为5.3.1,代码存放在github

开发环境

  • Jdk1.8
  • Maven3.x
  • IDEA

官方文档:https://apereo.github.io/cas/5.3.x/installation/User-Interface-Customization.html

经过上一章,我们已经搭建了最基础的工程。能够通过静态用户登录并跳转登录成功页面。

但在不同的项目中,用户的登录页面样式是不同的,甚至登录验证的某些字段也不一样,

那么如何去自定义一个登录页面的样式?如何自定义登录页面的字段?

我们本章要去解决登录页面的样式,至于自定义登录页面的字段,涉及到spring webflow流程定义,这个到后面讲

1.

简略看完后,会有以下的规范:

  • 静态资源(js,css)存放目录为src/main/resources/static
  • html资源存(thymeleaf)放目录为src/main/resources/templates
  • 主题配置文件存放在src/main/resources并且命名为[theme_name].properties
  • 主题页面html存放目录为src/main/resources/templates/<theme-id>

可能看完上面的规范会有一些疑问

主题渲染是怎么样的?

官方文档明确说明,登录页渲染文件为casLoginView.html,那意味我们在主题具体目录下新增改文件并且按照cas要求写那就可以了

新建landingone-1000.json 文件

{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^(https|imaps|http)://(localhost|192.168).*",
  "name" : "Landing One",
  "id" : 1000,
  "description" : "landingone 项目访问过来,跳转到demo主题",
  "evaluationOrder" : 10,
  "theme": "landingone"
}

theme为key指定配置文件id

设置默认主题

修改application.properties文件
#设置默认主题
cas.theme.defaultThemeName=landingone

新建主题配置文件

在src/main下新建landingone.properties


landingone.css.file=/themes/landingone/css/landingone.css
landingone.pageTitle=landingone 网站

#standard.custom.css.file=/themes/[theme_name]/css/cas.css
#cas.javascript.file=/themes/[theme_name]/js/cas.js

standard.custom.css.file=/css/cas.css
admin.custom.css.file=/css/admin.css
cas.javascript.file=/js/cas.js

css配置,js配置,默认保存在/src/main/resources/static 路径下

而我们的登录页面 casLoginView.html ,需要遵循themeleaf的游戏规则

没接触过的可以看一下官方文档,还是很具体的,官方文档:https://www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html

而我们之前创建的landingone.properties,则是配置我们登录页面的样式文件及js文件相对路径

我们通过themeleaf 的配置方式,例如:

<link rel="stylesheet" th:href="@{${#themes.code('landingone.css.file')}}"/>

即可引入样式,同样的,

<script type="text/javascript" th:src="@{/themes/landingone/js/main.js}"></script>

直接在花括号中写路径也没什么影响,根据自己的风格来

那么再次启动项目,就是我们自定义的登录页面了。

 

联系方式

如果对文章内容有疑惑或者开发过程中有什么问题可以邮件交流。

参考文章:https://blog.youkuaiyun.com/yelllowcong/article/details/79236506

 

史上最详细的 Apereo CAS 5.3开发教程:三、CAS Client客户端的配置 Apereo CAS Client 项目源码地址:https://github.com/cas-projects/cas-sample-java-webapp CAS 系列详解:https://blog.csdn.net/makyan/column/info/36060 上一节内容:https://blog.csdn.net/makyan/article/details/88878667 本节继... 阅读详情

相关推荐

CAS 5.2.x 实现SSO单点登录教程记录

CAS SSO 单点登录记录 作者:刘仁奎 个人网址 程序喵:http://www.ibloger.net / http://www.chengxumiao.net QQ:1056856191 GitHub地址:https://github.com/X-rapido/CAS_SSO_Record 以下内容根据自己的理解编写,有不正确的地方,还望朋友们及时告知,并给出解决方案,感激...

X-rapido的专栏 1782

cas5.3.2单点登录-自定义登录页面(十四)

原文地址,转载请注明出处:&amp;amp;amp;amp;nbsp;https://blog.csdn.net/qq_34021712/article/details/82186067&amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp; &amp;amp;amp;amp;nbsp;&amp;amp;amp;amp;nbsp;©王赛超&amp;amp;amp;amp;nbsp; cas也搞得差不多了,一直使用的是默认登录页

这个名字想了很久 1万+

Spring Boot 3.x + Spring Security 6 实战:手把手教你配置CAS客户端实现单点登录(附完整代码)

本文详细介绍了如何在Spring Boot 3.x和Spring Security 6中配置CAS客户端实现单点登录。通过环境准备、核心配置解析、CAS组件实现及高级配置与疑难解答,帮助开发者快速掌握现代CAS集成方案,提升企业应用系统的安全性和用户体验。

weixin_26789847的博客 354

Cas5.3.2 服务端 自定义登入界面

第一:项目整体结构: 自定义页面涉及资源全部存放再src/main/resources 文件夹目录下: 目录 含义 services 配置自定义登入网站模板 static 静态文件目录,用于存放js,css代码的 templates 模板文件目录,用于存放html digipower.properties 存放digipower网站模板的配置信...

zhouzhiwengang的专栏 5039

Apereo CAS5.2.3 自定义登录页,验证码,扩展开发,注册功能

完整项目在https://download.csdn.net/download/u010588262/10327539 这个资源是新增功能之后的main文件夹 对应博客系列:https://blog.csdn.net/u010588262/article/category/7548325 对应博客这篇:https://blog.csdn.net/u010588262/article/details/80014083

cas 服务端和客户端 main是自定义服务端登陆页面 还有一个是5.2.3原版

这是boot2.0+shiro+pac4j+cas 整合项目 cas还可以自定义登陆页和认证校验数据库

CAS单点登录-自定义主题、界面 (九)

在集成了sso之后,cas的登录界面一般都不满足上线要求,所以必须来一套自定义登录界面 当然了我们还有以下的使用场景: 不同接入端登录页不一 默认主题 本章目标 图标改变 背景颜色改变 字体改变 疑问与介绍 官方文档:https://apereo.github.io/cas/5.1.x/installation/User-Interface-Customization....

Lambda 1964

CAS实现不同应用展示不同的登录页

基于CAS的单点登录系统,可以通过这些步骤来实现不同系统展示不同的登录页,但是登录后的信息共享

cas学习3:自定义登录页面

cas也搞得差不多了,一直使用的是默认登录页面,这样是肯定不行的,企业级登录页面,一般都是自定义的,页面上有广告或者公司的logo等,下面开始进行自定义登录页面,查看官方文档,发现有动态主题和静态主题,下面只介绍静态主题模式。,还记得我们之前配置客户端注册的时候的json文件,这个文件中还可以添加一个属性theme对应自己的主题,具体看下面的例子,cas也可以设置一个默认主题,如果service注册的时候没有指明主题,就使用默认的主题。第一步:先直接登录cas服务,默认使用的是app2的主题。

zhaofuqiangmycomm的博客 881

cas 自定义登录页面

详细描述了cas 自定义登陆页面的配置与demo

3DGS-to-PC实战指南:零代码实现3D高斯场景到点云/Mesh的高效转换

本文详细介绍了3DGS-to-PC工具如何实现3D高斯场景到点云/Mesh的高效转换,无需代码即可完成。通过实战案例和参数调优技巧,帮助用户快速掌握这一开源插件的使用方法,提升3D数据处理效率。特别适合建筑扫描、影视特效等领域的专业人士。

q1w3e5r7t9y的博客 273

CAS单点登录-自定义主题、界面 (十一)

# CAS单点登录-自定义主题、界面 (十一) 在集成了sso之后,cas的登录界面一般都不满足上线要求,所以必须来一套自定义登录界面,当然了甚至会提出登录界面里面新增部门选择呀、区域选择等等这些业务性的 当然了我们还有以下的使用场景: 不同接入端登录页不一 默认主题 本章目标 图标改变 背景颜色改变 部分字体改变 疑问与介绍官方文档:https://apereo.github.io/cas/5

悟空、的博客园 1万+

C#粘包和分包问题及解决方法

一:通过图解法来描述一下分包和粘包,这样客户更清晰直观的了解:  下面对上面的图进行解释:  1.正常情况:如果Socket Client 发送的数据包,在Socket Server端也是一个一个完整接收的,那个就不会出现粘包和分包情况,数据正常读取。  2.粘包情况:Socket Client发送的数据包,在客户端发送和服务器接收的情况下都有可能发送,因为客户端发送的数据都是发送的一个缓冲...

weixin_42033401的博客 7767

cas单点登录-自定义登录页面(十四)

上有广告或者公司的logo等,下面开始进行自定义登录页面,查看官方文档,发现有动态主题和静态主题,下面只介绍静态主题模式。 参考文档 https://apereo.github.io/cas/5.3.x/installation/Configuration-Properties.html#themeshttps://apereo.github.io/cas/5.3.x/installation/User-Interface-Customization-Themes.html 主题 主题意味着风格不一

weixin_42073629的博客 1281

服务器安装Ubuntu 18.04.2 LTS超详细步骤(小白图文详解)

服务器安装Ubuntu 18.04.2 LTS超详细步骤(小白图文详解) 本文不包括启动盘制作步骤,相关内容可自行百度 华为服务器 1 插入u盘,关机重启 2 初始化界面后进入到系统的BIOS设置界面 (华为服务器按Del键,不同品牌方法不同) 3 进入的时候,华为的服务器默认设置了BIOS密码,因此需要输入之前预设的密码。 注意密码大小写问题,若密码输错三次,则需重启 4 密码输入以后,进入...

crystalbang的博客 2万+

项目过程记录:ADS-B信号接收并显示(Ubuntu20.04+ANTSDR E310V2)

最近被安排做一个ADS-B信号接收的项目,拿到软件无线电模块(ANTSDR E310V2)后安装环境和软件真的太折磨了。。在此记录以下我走过的弯路,大家可以参考一下。

weixin_43627638的博客 5017

CAS5.2x单点登录(七)-------------单点退出

单点登出产生的原因 前几篇我们已经讲了如何搭建单点登录以及他的服务注册等,我们也清楚单点登录的目的是为了不用频繁的去登录,基本上有单点登录的地方就有单点登出,因为这两个感觉是绑定在一起的。我们知道cas单点登录成功后,cas会为我们每个客户端生成一个session,然后再次访问这个客户端的接口的时候,我们客户端引入的cas的jar包会去判断,这个接口是否有session,如果没有的话就继续判断下...

java线程池 7067

南京邮电大学《数学实验》模块二(函数的迭代)参考答案

【代码】南京邮电大学《数学实验》模块二(函数的迭代)参考答案。

qq_1293730064的博客 3万+

CAS5.2x单点登录(四)------restful请求

现在我们开发软件流行前后台分离,前后台分离大大提高了开发效率,而我们后台使用的是restful风格的api接口。这是一种风格,这种风格的接口的好处就是将我们之前的增删改查使用专门的类型来标注,比如:get、post、put、delete等。然后他返回的是一个json类型的数据,这样前端就只需要对json数据进行相应的处理,不用考虑后台的一些其他问题。而后台也不需要考虑前端的页面跳转问题,只需要返回...

java线程池 4066

ORB-SLAM3代码详解 - 第 18 篇 · Atlas 多地图系统、地图保存与全系统调优

会跑:理解三线程架构与数据流(01/08/10/13),能编译、配参、复现各数据集结果。会改:掌握相机模型抽象(05)、g2o 顶点与边(14)、预积分(15),能接入新传感器、新相机、新约束。会调:理解每个参数背后的物理含义与耦合(03/15/16/18),能针对自己的平台与场景做精度/实时/鲁棒的权衡。ORB-SLAM3 的价值不止于一个可用的 SLAM 系统,更在于它是一套工程化的几何状态估计模板:清晰的模块边界、可替换的相机/传感器抽象、紧耦合优化的标准范式。

PX4-SLAM-PNC 172

(七)独立按键

(七)独立按键

m0_52555663的博客 1717

CAS5.2x单点登录(六)-----动态添加services

前面我们已经讲了cas的service服务的构造以及每个字段的意思,以及如何使用,但是我们之前讲的是静态的,也就是说所有的配置文件都写好了之后才去启动cas,但是这个在现实的场景是不存在的,为什么呢? 我们不可能每次新增一个cas客户端的时候就去停掉cas服务器,然后写配置文件,在重启。这样会导致好多系统用不了,最后没有人会使用cas,我们能想到的别人开发这个的也早已经想到了,所以就有了我本...

java线程池 6585

YOLOv13改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

1️⃣ 已更新种不同的改进方案,专栏内的每篇文章皆,均可顺利运行。2️⃣ 订阅专栏即可进群获取以及从的各种答疑内容。3️⃣ 全新的YOLOv13改进专栏,,只为更好的满足论文发表的要求。专栏内容,专栏实时评分,全网最高,质量保证。🎫。。

Limiiiing的博客 9156

再谈OpenJWeb快速开发平台商业价值

 一、         什么是OpenJWeb? OpenJWeb是一款基于Java技术实现的快速Web应用开发平台。为什么说此平台是一个快速的应用开发平台?因为此平台提供了各种功能创建向导,用户可以完全通过平台的功能创建向导来创建自己的需要的业务功能模块,这使得在没有软件开发人员的参与的情况下,用户仍然可以根据业务需要来定制一些简单的功能。二、         OpenJWeb的

baozhengw的专栏 2743

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

别再手动配HTTPS了!用CAS-Overlay-Template 5.2快速搭建单点登录服务器(附JDK证书避坑指南)

本文详细介绍了如何使用CAS-Overlay-Template 5.2快速搭建单点登录服务器,解决HTTPS配置和JDK证书管理中的常见问题。通过优化依赖下载速度、提供一键生成自签名证书脚本和极简配置方案,帮助开发者高效实现单点登录功能,适用于企业级应用开发。

weixin_42561476的博客 306

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Springboot+Vue3低代码开发框架

JNPF是建立在开放标准和全源码交付基础上的。核心技术采用SpringBoot、SpringCloudAlibaba,MybatisPlus、RocketMQ、MinIO等主要框架和中间件,采用Nacos注册和配置中心,集成流量卫兵Sentinel,前端基于Vue3框架定制开发,可帮助企业更快,更高效地进行微服务开发,相较于业界使用广泛的开源版本平台,提供更强大的功能和更全面的服务支持。平台即可私有化部署,也支持K8S部署。

pantouyuchiyu的博客 2111

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: 一. CAS5.3X 单点登录-基础搭建
下一篇: Java:强引用、软引用、弱引用和虚引用
Jeffery Chan
博客等级 码龄10年 24粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值