前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Apereo CAS(三)管理界面

Apereo CAS(三)管理界面

作者头像
dhyuan
发布2022-11-08 12:52:59
1.6K0
发布2022-11-08 12:52:59
举报
文章被收录于专栏:响应式编程响应式编程

类似cas-server,先下载cas-management-overlay代码,这里使用6.5分支。

代码语言:javascript
复制
$ git clone https://github.com/apereo/cas-management-overlay cas-management   
$ cd cas-management   
$ git checkout -b 6.5 origin/6.5

cas-management应用本身也需要用户认证之后才能使用。这里使用它自己要管理的cas-server作为认证源。对,有点儿循环依赖的感觉。这时,cas-manager本身就是cas-server的一个client或者说service了。 因此需要首先把management配置为cas-server的一个client/service。

Apereo支持不同的存储service注册的方式:json文件、JPA、Redis …,这里使用json文件的方式把cas-management注册为cas-server的service,即让cas-manager使用cas-server来认证用户。

1)在cas-server的build.gradle中添加依赖。

可参考官方文档:https://apereo.github.io/cas/6.5.x/services/Service-Management.html#storage

代码语言:javascript
复制
implementation "org.apereo.cas:cas-server-support-json-service-registry:${project.'cas.version'}"

2)告诉cas-server 在哪里可以找到定义client/service的json文件

在文件 etc/cas/config/cas.properties 中加入如下配置:

代码语言:javascript
复制
cas.service-registry.json.location=classpath:/services

在cas-server 项目的 src/resources 目录下创建一个名为casManagement-2000.json的文体。文件名的格式是 clientName + clientId.json,具体请阅读官方文档。

代码语言:javascript
复制
{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^(https|imaps)://.*",
  "name" : "casManagement",
  "id" : 2000,
  "logoutType" : "BACK_CHANNEL",
  "logoutUrl" : "https://localhost:8444/cas-management/logout"
}

3)配置cas-management

上面两步是配置cas-server以把cas-manager作为它的client。现在,配置cas-management。 编辑 cas-management 项目里的 etc/case/config/management.properties 文件,内容如下。

代码语言:javascript
复制
cas.server.name=https://localhost:8443
cas.server.prefix=${cas.server.name}/cas

server.port=8444
mgmt.server-name=https://localhost:8444
mgmt.admin-roles[0]=ROLE_ADMIN
mgmt.user-properties-file=file:/etc/cas/config/users.json

logging.config=file:/etc/cas/config/log4j2-management.xml

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

# Let the cas-management to know where to find/save the registed services
cas.service-registry.json.location=file:YOUR_PATH_TO_DIR_CONTAINS_JSONFILES/services

需要注意的是要保证cas.server 和 mgmt server的端口不要冲突,一个是8443,一个是8444。 这里方便起见,cas-management和 cas-server共享了同一个keystore。

配置项cas.service-registry.json.location告诉cas-management到哪里去读写(管理)定义client/service的json文件。这个目录 是和cas-server的 cas.service-registry.json.location=classpath:/services 是一致的。

4)同时运行cas-server,cas-management后,访问 https://localhost:8444/cas-management/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 响应式编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1)在cas-server的build.gradle中添加依赖。
  • 2)告诉cas-server 在哪里可以找到定义client/service的json文件
  • 3)配置cas-management
  • 4)同时运行cas-server,cas-management后,访问 https://localhost:8444/cas-management/
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档