CAS 入门实战--自定义登录页面

Posted 且行且码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CAS 入门实战--自定义登录页面相关的知识,希望对你有一定的参考价值。

CAS 默认的登录页面显然不适合实际的使用,本文主要介绍如何自定义登录页面;文中使用到的软件版本:JDK 1.8.0_191、Tomcat 8.5.76、CAS 5.3.16。

1、服务端准备

这里假设 CAS 服务端已经安装完毕,地址为:http://127.0.0.1:8080/cas,本文描述的修改都针对 CAS 服务端;服务端的安装方法可参考:​​CAS 入门实战(2)--服务端安装​​。

2、自定义主题

这里假设新增的主题名称为:mytheme

2.1、新增主题配置文件

 在 WEB-INF\\classes 下新增 mytheme.properties:

cas.standard.css.file=/css/cas.css

其他变量根据自己页面的需要来定义,如果自定义的页面用不到,可以不用定义其他的变量。

2.2、新增主题页面

在 WEB-INF\\classes\\templates 下新建 mytheme 目录,并在 mytheme 目录下创建登录页面 casLoginView.html








登录
统一鉴权登录[mytheme]


Example error









id="username"
name="username"
th:value="$openIdLocalId"/>


id="username"
size="25"
tabindex="1"
type="text"
th:disabled="$guaEnabled"
th:field="*username"
th:accesskey="#screen.welcome.label.netid.accesskey"
autocomplete="off"/>






type="password"
id="password"
size="25"
tabindex="2"
th:accesskey="#screen.welcome.label.password.accesskey"
th:field="*password"
autocomplete="off"/>








这里定义了一个简单的页面,form 中的元素不要变,其他的可以根据需要修改。自定义登录页面使用到的 css 、js 文件都可以放到 mytheme 目录下。

3、使用自定义主题

3.1、通过设置默认主题方式使用自定义主题

如果所有的客户端都使用同一套的自定义主题,则可在 WEB-INF\\classes\\application.properties 中增加如下配置:

cas.theme.defaultThemeName=mytheme

 重启 CAS 服务端即可。

CAS

3.2、通过 Service 方式使用自定义主题

不同的客户端可以定义相应的 Service,在 Service 中可以设置主题;Service 的定义保护如下的属性:

属性

说明

@class

服务注册类名

serviceId

服务对应的客户端

name

服务名称

id

服务id

description

描述

evaluationOrder

匹配的次序

theme

主题

按照上面的步骤再定义一个主题:mytheme2,然后在  WEB-INF\\classes\\services 目录下创建 Service 的配置文件。

Mytheme-10000003.json:


"@class" : "org.apereo.cas.services.RegexRegisteredService",
"serviceId" : "^(https|http|imaps)://127.0.0.1:9090.*",
"name" : "127.0.0.1:9090",
"id" : 10000003,
"description" : "",
"evaluationOrder" : 10,
"theme" : "mytheme"

Mytheme2-10000004.json:


"@class" : "org.apereo.cas.services.RegexRegisteredService",
"serviceId" : "^(https|http|imaps)://127.0.0.1:9091.*",
"name" : "127.0.0.1:9091",
"id" : 10000004,
"description" : "",
"evaluationOrder" : 11,
"theme" : "mytheme2"

重启后访问不同的客户端会转到不同的主题页面。

访问客户端1 http://127.0.0.1:9090/test/getUser:

CAS

 访问客户端2 http://127.0.0.1:9091/test/getUser:

CAS

4、涉及关键文件截图

CAS

 CAS


以上是关于CAS 入门实战--自定义登录页面的主要内容,如果未能解决你的问题,请参考以下文章

CAS 4.0.x 自定义登录页面

CAS单点登录系列之极速入门于实战教程(4.2.7)

cas5.1.x版本主题界面自定义

cas sso单点登录系列4_cas-server登录页面自定义修改过程(jsp页面修改)

CAS登录后回传除了ticket参数以外的其他自定义参数

使用 mod_auth_cas 和自定义登录进行单点登录