2022-01-11 14:40:18 版本 : Cas5.3.2 服务端 自定义登入界面
作者: 周杨 于 2022年01月11日 发布在分类 / 计算机应用 / 服务器 下,并于 2022年01月11日 编辑
 历史版本

备注 修改日期 修改人
格式调整 2022-01-11 14:40:18[当前版本] 系统管理员
CREAT 2022-01-11 14:23:18 系统管理员

转自:https://blog.csdn.net/zhouzhiwengang/article/details/90053313


项目整体结构

自定义页面涉及资源全部存放再src/main/resources 文件夹目录下:

目录

含义

services

配置自定义登入网站模板

static

静态文件目录,用于存放js,css代码的

templates

模板文件目录,用于存放html

digipower.properties

存放digipower网站模板的配置信息


services 目录配置

service目录,设定每一个子网站对应的请求样式,如果不设定,默认使用指定默认样式。

HTTPSandIMAPS-10000001.json 文件解析

该json配置文件是系统默认的登录模板,自定义模板配置文件规则:文件名称+id.json,如果不是这种格式cas 服务端不然找不到配置文件。

HTTPSandIMAPS-10000001.json 文件内容:

{
    "@class": "org.apereo.cas.services.RegexRegisteredService",
    "serviceId": "^(https|imaps)://.*",
    "name": "HTTPS and IMAPS",
    "id": 10000001,
    "description": "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
    "evaluationOrder": 10000
}


自定义模板配置文件内容(digipower-1000.json):

{

    "@class": "org.apereo.cas.services.RegexRegisteredService",

    "serviceId": "^(https|imaps|http)://.*",

    "name": "digipower",

    "id": 1000,

    "description": "CAS-SSO 登入",

    "evaluationOrder": 10,

    "theme": "digipower"

}


application.properties 配置

注意:设置cas需要从json文件做初始化操作,不然我们配置的json没有生效

# cas 自定义登入界面

# 默认主题

cas.theme.defaultThemeName=digipower

# 开启识别json文件,默认false

cas.serviceRegistry.initFromJson=true

static 文件夹

digipower.css:

h1 {

color: blue;

}

templates 登录模板

目录结构可以看到,每个子站点,都会新建一个文件夹,文件夹的名称需要和 service里面配置站点的theme的名称对应上,casLoginView.html 这个模板的名称,不能瞎改,这个是固定的

<! DOCTYPE html >
< html >

< head >
    < meta charset="UTF-8" />
    < meta name="viewport" content="width=device-width, initial-scale=1" />
    < meta http-equiv="X-UA-Compatible" content="IE=edge" />
    < title th:text="${#themes.code('digipower.pageTitle')}" ></ title >
    < link rel="stylesheet" th:href="@{${#themes.code('digipower.css.file')}}" />
</ head >

< body >
    < h1 th:text="${#themes.code('digipower.pageTitle')}" ></ h1 >
    < h2 >CAS-SSO 单点登录</ h2 >
    < div >
        < form method="post" th:object="${credential}" >
            < div th:if="${#fields.hasErrors('*')}" >
                < span th:each="err : ${#fields.errors('*')}" th:utext="${err}" / >
            </ div >
            < h2 th:utext="#{screen.welcome.instructions}" ></ h2 >

            < section class="row" >
                < label for="username" th:utext="#{screen.welcome.label.netid}" / >
                < div th:unless="${openIdLocalId}" >
                    < input class="required" id="username" size="25" tabindex="1" type="text" th:disabled="${guaEnabled}" th:field="*{username}" th:accesskey="#{screen.welcome.label.netid.accesskey}" autocomplete="off" />
                </ div >
            </ section >

            < section class="row" >
                < label for="password" th:utext="#{screen.welcome.label.password}" / >
                < div >
                    < input class="required" type="password" id="password" size="25" tabindex="2" th:accesskey="#{screen.welcome.label.password.accesskey}" th:field="*{password}" autocomplete="off" />
                </ div >
            </ section >

            < section >
                < input type="hidden" name="execution" th:value="${flowExecutionKey}" />
                < input type="hidden" name="_eventId" value="submit" />
                < input type="hidden" name="geolocation" />
                < input class="btn btn-submit btn-block" name="submit" accesskey="l" th:value="#{screen.welcome.button.login}" tabindex="6" type="submit" />
            </ section >
        </ form >
    </ div >
</ body >

</ html >


配置模板信息

digipower.properties:

# 自定义登入首页相关参数配置

#定义的字段和信息,可以在页面读取到

digipower.css.file=/themes/digipower/css/digipower.css

digipower.pageTitle=CAS-SSO 登入

启动服务

到项目的根目录,找到build.cmd,然后debug启动服务。

build.cmd debug

访问测试

历史版本-目录  [回到顶端]
    知识分享平台 -V 5.1.4 -大信谛威