Cas 5.2.x版本使用 —— Management 服务管理搭建(二十一)

cas-management也简称为service-management可以理解为服务管理。 

cas为我们提供了对service的管理平台,通过UI界面进行操作管理。

需要注意的有点,必须保证cas-server和cas-management,两个的用户信息一致,不然就会报授权失败。

一、架构说明

目录 访问地址 说明
cas-overlay-template-master https://cas.server.com:8443/cas cas 服务端
cas-management-overlay-master https://cas.server.com:8444/cas-management  manager 管理

二、cas-server 配置

服务端其实并不需要什么过多配置,参照之前的文章文章即可,我这里进行基本的验证,静态用户名密码:tingfeng

三、management 配置

1、下载导入IDEA工具

下载过程省略。导入时,需要下载war包,由于国内原因,基本需要翻墙搞定。当然你也可以从其他地方搞过来应用本地的war包,我用的翻墙。

idea中的默认结构目录如下图。

2、修改log日志目录

按照cas-server的老规矩,在根目录创建一个logs文件夹,指定修改log4j2-management.xml中默认的log日志目录位置。

比如将fileName="${sys:cas.log.dir}/cas-management.log" 修改为 fileName="${sys:cas.log.dir}/logs/cas-management.log"

3、application.properties 配置

和cas-server配置差不多,在src/main/resources目录下,拷贝出application.properties文件进行修改。

我这里主要是将cas-server和cas-managermeng两个项目使用同一个域名,需要配置等证书,必须保证和cas-server证书一致性,不然就会有验证问题。

##
# CAS Thymeleaf Views
#
spring.thymeleaf.cache=false
spring.thymeleaf.mode=HTML
spring.thymeleaf.order=1

##
# 嵌入式Tomcat容器
#
server.context-path=/cas-management
server.port=8444

server.ssl.enabled=true
server.ssl.keyStore=file:/etc/cas/casServer.keystore
server.ssl.keyStorePassword=changeit
server.ssl.keyPassword=changeit
server.ssl.key-alias=cas.server.com

##
# Log4J 配置
#
server.context-parameters.isLog4jAutoInitializationDisabled=true
# logging.config=file:/etc/cas/log4j2.xml

# 配置cas服务的地址
cas.server.name=https://cas.server.com:8443
cas.server.prefix=${cas.server.name}/cas

# 项目管理地址
cas.mgmt.serverName=https://cas.server.com:${server.port}

##
# 静态管理认证开始
# 通过sso登录后的用户,必须存在该文件下,否则无法登录,当然这些用户可以通过ldap进行动态管理
#
cas.mgmt.userPropertiesFile=classpath:/user-details.properties

##
# CAS Authentication Attributes
#
cas.authn.attributeRepository.stub.attributes.uid=uid
cas.authn.attributeRepository.stub.attributes.givenName=givenName
cas.authn.attributeRepository.stub.attributes.eppn=eppn

##
# CAS Web Application Config
#
server.session.timeout=1800
server.session.cookie.http-only=true
server.session.tracking-modes=COOKIE

##
# CAS Cloud Bus Configuration
# Please leave spring.cloud.bus.enabled set to false
#
spring.cloud.bus.enabled=false

##
# Actuator Endpoint Security Defaults
#
endpoints.sensitive=true
endpoints.enabled=false
endpoints.actuator.enabled=false

#默认语言包
cas.mgmt.defaultLocale=zh_CN

4、配置用户

我上面是配置的静态用户,这个方式是为了实验的需要,所以设置为了静态的,实际开发中,需要结合mysql,mongodb等

cas.mgmt.userPropertiesFile=classpath:/user-details.properties

5、user-details.properties 配置

# This file lists the set of users that are allowed access to the management app.
#
# The syntax of each entry should be in the form of:
#
# username=password,grantedAuthority[,grantedAuthority][,enabled|disabled]

# Example:
#casuser=notused,ROLE_ADMIN
#tsschmi=notused,ROLE_ADMIN

#静态用户处理
# 必须配置了才能进入后台页,否则不给于进入
tingfeng=tingfeng,ROLE_ADMIN,ROLE_ACTUATOR

5、managerment.properties 配置

省略部分内容放在了application.properties文件中配置。

cas.mgmt.adminRoles[0]=ROLE_ADMIN
logging.config=file:/etc/cas/config/log4j2-management.xml

四、启动运行

需要先启动服务端,然后再启动management

#直接通过run的方式启动,如果通过debug启动方式,可能和cas服务端,有冲突
build.cmd run

启动成功

登录成功

至于过多的cas-management如何管理,静待接下来的慢慢研究发现。

五、我的源码

https://github.com/X-rapido/CAS_SSO_Record

六、视频演示

https://v.qq.com/x/page/l063881p938.html

七、问题记录

导致这个问题的原因是,你cas存在的用户,在cas-management配置中,不存在,所以报错了。 

参考文档

https://apereo.github.io/cas/5.2.x/installation/Installing-ServicesMgmt-Webapp.html

https://github.com/apereo/cas-management-overlay

https://blog.csdn.net/u010475041/article/details/78028658

https://oss.sonatype.org/content/repositories/releases/org/apereo/cas/

赞(52) 打赏
未经允许不得转载:优客志 » JAVA开发
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏