栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot 集成cas5.3 配置及管理JSON Service服务

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot 集成cas5.3 配置及管理JSON Service服务

叙述

服务管理(Service Management)就是CAS服务管理工具允许CAS服务器管理员声明和配置哪些服务(Service,CAS客户端)可以在哪些方面使用CAS。服务管理工具的核心组件是服务注册表,它存储一个或多个注册服务。
(作者叙述:简单来说,就是控制sso单点登录限制那个客户端使用cas认证中心进行认证)

推荐使用JSON进行服务管理,所以本文只针对JSON服务管理讲解,更多服务像jpa等等请巡查其他资料。

首先添加依赖包:


    org.apereo.cas
    cas-server-support-json-service-registry
    ${cas.version}

在resources/services文件夹下面新建web-10000001.json,具体内容如下:

{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^(https|imaps|http)://localhost:8090.*",
  "name" : "web",
  "id" : 10000001,
  "evaluationOrder" : 10
}

注意: Json文件名字规则为name-id.json,id必须为Json文件内容Json一致。

Json文件解释:

  • @class:必须为org.apereo.cas.services.RegisteredService的实现类,对其他属性进行一个json反射对象,常用的有RegexRegisteredService,匹配策略为id的正则表达式
  • serviceId:唯一的服务id
  • name: 服务名称,会显示在默认登录页
  • id:全局唯一标志
  • description:服务描述,会显示在默认登录页
  • evaluationOrder: 匹配争取时的执行循序,最好是比1大的数字

因为在CAS服务中,默认是提供了默认的Service配置项,所以如果添加的Json配置没起作用,可以尝试注释掉默认启动Json,在pom.xml文件里面进行配置,如下:

然后在配置文件application.properties下添加配置:

##
# Service Registry(服务注册)
#
# 开启识别Json文件,默认false
cas.serviceRegistry.initFromJson=true

#自动扫描服务配置,默认开启
#cas.serviceRegistry.watcherEnabled=true

#120秒扫描一遍
cas.serviceRegistry.schedule.repeatInterval=120000

#延迟15秒开启
# cas.serviceRegistry.schedule.startDelay=15000



##
# Json配置
cas.serviceRegistry.json.location=classpath:/services

我这块有5个服务

启动服务,我们可以发现注释掉war包下Json初始化后,默认只启动了5个Json,在控制台中我们可以发现启动日志:

如果没有注释话,默认会是加载了7个服务配置。

这里官方准备的客户端Demo是Java版本的,地址为:cas-sample-java-webapp

打开下载好的官方示例包

打开etc-jetty-jetty-ssl.xml文件,修改端口为8090

修改WEB-INF下的web.xml中的地址

底下也根据上面改成相应一样的地址

然后启动访问http://localhost:8090/

顺利的跳到登录页面了,

登录成功,服务可以访问了,如果换成其他客户端地址,会出现未认证授权的服务。

此时就能保证cas认证中心不被别的未知客户端接入了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/425633.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号