美文网首页
如何修改cas的html页面

如何修改cas的html页面

作者: 张培_ | 来源:发表于2017-09-26 21:38 被阅读264次

情景描述

  • 我们使用cas作为单点登录工具保护所有app
  • 但是cas的界面都是默认的,如何修改cas的登录登出以及登录登出成功或者失败的界面样式呢?

矛盾点

使用cas系统,cas的服务器中已经默认配置好了服务器过程中所需的静态资源。这固然好,但是造成了想要修改就变得困难起来。如何修改cas的静态文件成了焦点问题。

cas是什么东西,系统中如何集成cas?

  • sso:单点登录

    • 作用:用户只需要登录一次就可以访问多个相互关联的应用。
    • example:okta。只需要登录一次,就可以不输入密码的登录任何收录在okta中的app
    • anthor example:不同于onePassword或者lastPass,他们是将不同app的密码存在数据库中,登录哪个app,拿出哪个app的密码,这样只要我们记下一个登录onePassword密码即可。
  • cas:是一个单点登录的框架(或者库),针对web实现单点登录。以下是系统中整合cas利用cas功能。

    • cas客户端:和系统中的gateway整合在一个服务器。和Spring Security整合在一起使用。
      • 客户端原理: 所有请求发往gateway,spring Security具有对请求进行过滤的功能,因此,可以对请求根据url、head或者其他筛选。满足条件的请求可以发往对应的app。但是不满足的请求(比如没有登录没有sT,TGT)被重定向到cas的服务器。
    • cas服务器:单独的一个服务器,专门用来做用户身份认证(类似于一个专门的登录登出服务器)
      • 服务器原理:当请求发来服务器,验证完身份,保证用户身份没问题,服务器产生sT(类似于session存放在服务器作为身份验证)。给请求带上TGT类似于一种登录成功凭证。然后跳转到对应的app。
    • 具体的过程参见链接

cas的服务端是如何做成的?

  • 查看网上说法就类似于下载一个app,下载一个压缩包,解压后启动在某个端口,cas的服务器就启动了。

cas html页面在哪里呢?

  • 首先我们知道了cas的服务器端
  • 因此不论静态文件还是功能都是由cas的服务器提供的。
  • 所以如果要修改静态必然是到cas的服务器然后找到resource文件夹修改。
  • 然而resource文件夹中并没有我想要修改的html页面
  • 因此可以确定,很多HTML页面都是默认存放在cad服务器中,如何想要修改必须创建同名html文件覆盖他

那么如何修改想要修改的页面呢?

  • 首先你需要访问github找到你要修改的html文件的名字。
  • 我认为可以通过页面找到标签的类名,然后去仓库中search类名
  • 然后找到其中包含这个类名的文件,对比找到。
  • 然后在本地的cas服务器中创建同名html文件,就可以随意创建修改啦。

cas中html的写法好神奇

  • 所有标签都是通过th:**="#{**}"来设置属性的。
    • ex:<h2 th:utext="#{screen.logout.header}"/>说明h2的utext(也就是内容)是变量#{screen.logout.header}
    • <a th:href="#{userCenter.home.url}">点此重新登录进入学习中心</a>也就是a的href属性是#{userCenter.home.url}变量。
  • 那么#{**} **变量都是定义在resourecs/custom_messages.properties使用到的变量都在这文件中定义即可访问到
  • 所有的html页面放在resources/template

反思

  • 对于cas,一直知道项目上使用它,之前尝试自己搞一个觉得好多配置加上对spring的不了解就却步了。但是即使写不出来,也应该搞清楚原理,这样完善项目功能也不会太费力。没有及时去了解,必须反思。

Action

  • 以后改变策略,听到新的概念,首先第一步先浅薄的了解5w1h然后再根据能力和时间以及需求衡量是否要自己实现。也就是从大到细先宏观了解,要不没有办法在写代码的时候脑子形成这个新工具的概念架构

相关文章

网友评论

      本文标题:如何修改cas的html页面

      本文链接:https://www.haomeiwen.com/subject/vcbeextx.html