【问题标题】:Apereo CAS HTML template does not seem to loadApereo CAS HTML 模板似乎没有加载
【发布时间】:2021-08-30 22:01:23
【问题描述】:

所以我使用cas-initializrcas 文件夹中使用以下命令初始化了CAS:

curl https://casinit.herokuapp.com/starter.tgz -d "dependencies=core,bootadmin,metrics,gitsvc,jsonsvc,redis,support-themes-core" | tar  -xzvf -

我的主题名称是example。这里是cas/src/main/resources/templates的文件结构:

templates
├── META-INF
│   └── spring.factories
├── application.yml
├── example.properties
├── static
│   └── themes
│       └── example
│           ├── css
│           │   └── cas.css
│           ├── images
│           │   ├── favicon.ico
│           │   └── logo.png
│           └── js
│               └── cas.js
└── templates
    └── example
        └── casLoginView.html

casLoginView.html的内容:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>Hello World!</h1>
</body>
</html>

example.properties的内容:

cas.theme.name=Example Theme
cas.theme.description=Example - Central Authentication Service

cas.standard.css.file=/themes/example/css/cas.css
cas.standard.js.file=/themes/example/js/cas.js
cas.logo.file=/themes/example/images/logo.png
cas.favicon.file=/themes/example/images/favicon.ico

cas.drawer-menu.enabled=false
cas.notifications-menu.enabled=false
cas.login-form.enabled=true

我的cas.properties 文件位于/etc/cas/config/

cas.server.name=https://localhost:8443
cas.server.prefix=${cas.server.name}/cas

cas.serviceRegistry.json.location=file:/etc/cas/services
# cas.authn.accept.enabled=false

server.ssl.key-store=file:/etc/cas/thekeystore
server.ssl.key-store-password=changeit

cas.theme.defaultThemeName=example
spring.thymeleaf.cache=false

使用./gradlew bootRun 启动服务器后,我在我的chrome 浏览器上打开了https://localhost:8443/cas/login。 CSS、Image 和 JS 似乎可以正常加载(我使用 Chrome Devtool 确认了它),但使用的是默认模板而不是我的自定义模板。

我已经尝试谷歌搜索了几个小时,但我仍然无法弄清楚如何让cas 加载我的 html 模板。

P/s:我尝试将所有 resources 内容移动到 cas/build/resourcescas/build/resources/main,但它似乎也不起作用。

【问题讨论】:

    标签: templates themes cas apereo


    【解决方案1】:

    从 6.4 RC5 开始(这是您在撰写本文时运行的版本,应该在您的原始帖子中提供):

    在 Web 应用程序资源的上下文根中不再找到 thymeleaf 用户界面模板页面的集合。相反,它们被组织并分组到每个功能类别的逻辑文件夹中。例如,处理登录或注销功能的页面现在可以在登录或注销目录中找到。页面名称本身保持未选中状态。您应该始终使用 CAS WAR Overlay 交叉检查模板位置,并使用构建提供的工具从 CAS Web 应用程序上下文中定位或获取模板。

    https://apereo.github.io/cas/development/release_notes/RC5.html#thymeleaf-user-interface-pages

    请阅读发行说明并调整您的设置。

    此处列出了所有模板: https://apereo.github.io/cas/development/ux/User-Interface-Customization-Views.html#templates

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 2014-05-22
      • 2014-11-06
      • 1970-01-01
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      相关资源
      最近更新 更多