docker+cas-overlay集成_禛陌的博客-CSDN博客_docker cas-overlay


本站和网页 https://blog.csdn.net/xuxiannian/article/details/99679387 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

docker+cas-overlay集成_禛陌的博客-CSDN博客_docker cas-overlay
docker+cas-overlay集成
禛陌
于 2019-08-17 21:57:49 发布
1892
收藏
分类专栏:
配置学习相关
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xuxiannian/article/details/99679387
版权
配置学习相关
专栏收录该内容
6 篇文章
0 订阅
订阅专栏
CAS
cas官网可参考:https://www.apereo.org/projects/cas
cas是中央认证服务器,跨平台的客户端支持,包括JAVA,NET,PHP,Perl...并支持多种协议,是一个友好的开源的项目,为WEB系统提供了单点登陆的解决方法。
以下是截取自官司网的架构图,可参考。通过图中,可以看到,我们在自己的WEB应用中集成CAS Client,然后可以通过协议调用CAS Server端的应用,进行票据获取和认证,认证可以通过LDAP或数据据等处理获取。
Overlay是什么
Overlay参考:http://www.cassso-china.cn/apereo_github_cas_5.2/apereo.github.io/cas/5.2.x/installation/Maven-Overlay-Installation.html?tdsourcetag=s_pctim_aiomsg Overlays是一种避免重复代码或重复资源的打包策略,它可以让你自行下载CAS预编译的应用后,自定义增加或者替换相应的配置和特性。在构建的时候,Maven/Gradle首先会自动下载更新安装,然后找到你的配置文件和设置,自动合并到你自动下载的目录结构中,来构建出一个完整的项目 (比如 cas.war)。重写或覆盖的文件包括资源文件、Java的classes文件、图像文件、CSS和JS文件。 为了合并过程的成功执行,本地重写或覆盖的文件的位置和名称,必须与之前下载的存档中的项目所提供的位置和名称完全一样。 虽然前面的方法可能稍微复杂,但这种方法有显著的优势:
不需要从源站下载源码编译。 在大多数情况下,通过简单地调整生成脚本,来下载更新的CAS版本,升级非常容易。 与部署整个软件源代码不同的是,作为部署器,您只保留自己的本地定制,这使得更改跟踪变得更加容易。 源代码修改的管理和跟踪非常轻量级,配置更改只要管理修改的部分(而不是整个软件),非常的简单。
KEY STORE生成
在介绍我的CAS集成之前,先来简单 了解下KeyStore生成时的参数说明,KeyStore生成有两种,一种是通过JAVA方式生成,别一种是通过Linux命令下的keytool生成,本文是通过Linux下的keyTool生成的。
DK中keytool常用命令:
-genkey 在用户主目录中创建一个默认文件”.keystore”,还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
(在没有指定生成位置的情况下,keystore会存在用户系统默认目录,如:对于window xp系统,会生成在系统的C:\Documents and Settings\UserName\文件名为“.keystore”)
-alias 产生别名
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中)
-keyalg 指定密钥的算法 (如 RSA DSA(如果不指定默认采用DSA))
-validity 指定创建的证书有效期多少天
-keysize 指定密钥长度
-storepass 指定密钥库的密码(获取keystore信息所需的密码)
-keypass 指定别名条目的密码(私钥的密码)
-dname 指定证书拥有者信息 例如: “CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码”
-list 显示密钥库中的证书信息 keytool -list -v -keystore 指定keystore -storepass 密码
-v 显示密钥库中的证书详细信息
-export 将别名指定的证书导出到文件 keytool -export -alias 需要导出的别名 -keystore 指定keystore -file 指定导出的证书位置及证书名称 -storepass 密码
-file 参数指定导出到文件的文件名
-delete 删除密钥库中某条目 keytool -delete -alias 指定需删除的别 -keystore 指定keystore -storepass 密码
-printcert 查看导出的证书信息 keytool -printcert -file yushan.crt
-keypasswd 修改密钥库中指定条目口令 keytool -keypasswd -alias 需修改的别名 -keypass 旧密码 -new 新密码 -storepass keystore密码 -keystore sage
-storepasswd 修改keystore口令 keytool -storepasswd -keystore e:\yushan.keystore(需修改口令的keystore) -storepass 123456(原始密码) -new yushan(新密码)
-import 将已签名数字证书导入密钥库 keytool -import -alias 指定导入条目的别名 -keystore 指定keystore -file 需导入的证书
原文链接:https://blog.csdn.net/dotuian/article/details/51722300
docker介绍
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
想学习docker可以去官网或菜鸟上简单学习:https://www.runoob.com/docker/centos-docker-install.html
docker安装
如果服务器可以连公网,则可以直接用docker pull的方式去下载Cas的image。由于我们服务器与外网隔离,所以无法使用公网获取镜像,本例中是通过已有服务器镜像获取。
.配制docker的daemon.json,加入待下载镜像的服务器的配制信息:
vim /etc/docker/daemon.json ,在配制文件中加入一行:{“inseecure-registries”:["registry.dev.rnd.dept"]}
配制hosts文件,把上述的域名服务器地址映射IP
vim /etc/hosts :192.168.1.153 reginsty.dev.rnd.dept
重启docker后台进程 docker
systemctl restart docker如果systemctl没有生效,可以直接Kill掉dokcer的进程,然后重新启动 dockerd &
获取docker镜象
docker pull registry.dev.rnd.dept /its/docker:5.3.11
查看image
docker image
运行启动
docker run --name cas -p 80:8080 -p 443:8443 -d registry.dev.rnd.dept/its/cas
命令解读:docker run --name cas(自己给容器起的名字) -p 80:8080(这个端口是http的端口。暴露给宿主机的端口:容器的端口) -p 443:8443(这个是https端口,443宿主机端口:容器https端口)-d 后面是竟像的名称
启动了容器后,对容器进行检查
docker ps -a
查看运行日志
docker logs cas ,这个cas是上述运行命令时,给容器起的名字即--name 后的参数
本地生成keystore:
keytool -genkeypair -alias casKey -keyalg RSA -keypass supervison -storepass supervison -keystore ./caskeystore -dname "CN=cmss.test.ce.inc,OU=Example,OU=Org,C=AU" -ext SAN="dns:example.org,dns:localhost,ip:127.0.0.1"
把keyStore扔到容器里即从宿主机COPY到容器中
docker cp ./keyStore cas:/cas/etc/config
注:拷到容器上哪个路径,这个问题不大,最后需要在CAS的配制文件application.propertity中指定即可
那如何与容器交互呢
docker exec -it cas bash 或者 docker exec -it cas /bin/bash 或者docker exec -it cas /bin/sh
然后就进入到容器中,可以执行命令docker ls -a等 查看文件信息了,也可以docker vi pom.xml等 修改,
然后修改CAS的配制文件,修改其pom文件,别忘记把自己的私服地址加上,如果CAS所在服务器可以连公网就不用加了。因为CAS会去中央仓库下载资源包
修改POM.xml,CAS通过数据库查询去做认证权限,所以需要配制 cas server的JDBC及数据库驱努
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jdbc</artifactId>
<version>${cas.version}</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.6</version>
</dependency>
修改配制文件application.properties
# context-path
server.context-path=/cas
server.port=8443
# ssl
server.ssl.keyStore=/etc/cas/casKeyStore
server.ssl.keyStorePassword=supervison
server.ssl.keyPassword=supervison
server.ssl.enabled=true
server.ssl.key-alias=casKey
#cas.authn.accept.users=admin::admin
cas.jdbc.showSql=true
cas.jdbc.genDdl=true
cas.authn.jdbc.query[0].user=superviosn
cas.authn.jdbc.query[0].password=123
cas.authn.jdbc.query[0].driverClass=org.postgresql.Driver
cas.authn.jdbc.query[0].url=jdbc:postgresql://192.168.1.84:5432/supervison_platform
cas.authn.jdbc.query[0].dialect=org.hibernate.dialect.PostgresPlusDialect
cas.authn.jdbc.query[0].sql=SELECT * FROM pho_account WHERE login_name=?
cas.authn.jdbc.query[0].fieldPassword=password
cas.authn.jdbc.query[0].fieldExpired=
cas.authn.jdbc.query[0].fieldDisabled=
cas.authn.jdbc.query[0].principalAttributeList=sn,cn:commonName,givenName
cas.authn.jdbc.query[0].passwordEncoder.type=DEFAULT
cas.authn.jdbc.query[0].passwordEncoder.characterEncoding=UTF-8
cas.authn.jdbc.query[0].passwordEncoder.encodingAlgorithm=MD5
#cas.authn.jdbc.query[0].passwordEncoder.secret=
#cas.authn.jdbc.query[0].passwordEncoder.strength=16
cas.properties
cas.server.name: https://cas.zl.test:8443
cas.server.prefix: https://cas.zl.test:8443/cas
cas.adminPagesSecurity.ip=127\.0\.0\.1
logging.config: file:/etc/cas/config/log4j2.xml
重启CAS
docker stop cas
docker start cas
docker restart cas
禛陌
关注
关注
点赞
收藏
打赏
评论
docker+cas-overlay集成
KEY STORE生成DK中keytool常用命令:-genkey 在用户主目录中创建一个默认文件”.keystore”,还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书 (在没有指定生成位置的情况下,keystore会存在用户系统默认目录,如:对于window xp系统,会生成在系统的C:\Documents and Settings\UserName\文件名为“.k...
复制链接
扫一扫
专栏目录
cas-management-overlay:Apereo CAS Management Web应用程序的WAR叠加
02-04
cas-management-overlay:Apereo CAS Management Web应用程序的WAR叠加
java.lang.IllegalArgumentException: No enum constant springfox.documentation.service.ParameterType.Q
一路的博客
10-20
4829
java.lang.IllegalArgumentException: No enum constant springfox.documentation.service.ParameterType.QUERY
项目使用springBoot整合swagger时启动报错:
java.lang.IllegalArgumentException: No enum constant springfox.documentation.service.ParameterType.REQUEST
at java.lang.
评论 2
您还未登录,请先
登录
后发表或查看评论
Cas 服务器 下载、编译及部署
weixin_30687051的博客
10-29
324
一直想把公司运营的项目的各个子项的认证及授权统一到Cas上,从有想法到现在快一年的时间了。现在才正式着手,有兴趣的朋友一起交流学习一下。具体项目的细节不便透露,整合的大体思路为:1、开发部署Cas服务器端功能,2、开发Cas客户端基本功能框架、3、将Cas客户端框架打jar提供子项目使用,4、Docker正式环境部署Cas服务器,该系列博客中仅涉及1、2部分内容。
新手上路
一、Github上...
cas web app docker部署
xiaoguangtouqiang的博客
11-27
749
上篇文章中是通过打包成war包的方式启动的,这篇讲下如何打包成docker镜像,以及打包的过程中遇到的坑
1>clone 官方的项目
https://github.com/apereo/cas-webapp-docker.git,然后切换到5.3的分支
2>打包
readme.txt中有打包和运行的命令,打包命令是,这里的#casVersion是版本,比如我要打包5.3的,打...
Docker部署CAS单点登录Server及相关配置
daiyuenlong110的博客
02-02
2493
通过百度搜索docker部署CAS单点登录Server端,大部分都指只讲到如何部署,没有说到docker下如何配置cas
通过对docker容器内部cas项目目录结构的查看得以发现config目录下有一个cas.properties的配置文件,和log日志文件,这两个可以挂载到宿主机,方便后续对配置的一些维护
1.首先进入根据docker ps -a找到cas的containerID 通过id进入容器内部
docker exec -it d16654d2524b sh
2,随后进入/etc/cas
cas-overlay-template 搭建单点登录服务端
xiaoguangtouqiang的博客
11-19
1321
1.先下载overlay-template的源码
git clone https://github.com/apereo/cas-overlay-template.git
切换到5.3的分支
2.编译的坑
需要下载cas-server-webapp-tomcat这个包,100多m,下载需要很久,我已经添加了阿里的maven仓库,但是还是下载不下来,,所以使用迅雷下载,然后手动安装到本地的...
docker 查找cas版本_SpringBoot+CAS(一) Cas5.3 安装与配置
weixin_35745604的博客
01-10
269
Cas理论 不做 过多介绍,直接上干货工具版本tomcat 9.0 版本Cas 5.3Cas 下载 路径https://github.com/apereo/cas-overlay-template下载 5.3 版本下载为:将压缩包解压,然后倒入到 IDEA 工具中,倒入之后会自动加载相关依赖(需要一段时间)加载完依赖之后,项目目录会多一个:overlays目录加载完毕之后,pom文件还会有一下报错...
docker容器连接数据库
qq_21794917的博客
06-28
1998
记录一下docker容器连接数据库时候的坑
框架用的laravel,服务器用的阿里云,mysql在服务器,项目在镜像
1.刚开始执行php artisan migrate报错连接数据库超时
这里是服务器数据库端口没有开放,需要到阿里云平台安全组开放该端口
2.开放后遇到第二个错误
...
使用WAR overlay的方式来安装cas6.0
菜鸟的专栏
04-22
3220
1.检出casoverlay项目
git clone -b 6.0 https://github.com/apereo/cas-overlay-template.git
2.打包cas成war包,进入cas-overlay-template执行下面命令(打包时间有点长,建议maven源设置成阿里的)
build package
打包成功,在build目录下可以看到
3.将打包好的war包...
Apereo Cas之Docker
来啊 快活啊
06-15
9196
发博词Cas基于Docker构建,找到了三种官方的途径。docker hubcas 的docker hub上的地址如下:https://hub.docker.com/r/apereo/cas/ docker pull apereo/cas
docker run --name cas -p 8443:8443 -p 8878:8080 apereo/cas /bin/sh /cas-overlay
Docker部署服务
weixin_38285351的博客
06-06
80
su
cd ~/
mkdir project-server (创建项目文件夹)
cd project-server/
rz(添加打包文件)添加jdk1.8压缩包
vim Dockerfile(创建Dockerfile)
FROM docker.io/centos
MAINTAINER lixy
#将java添加到容器中
ADD jdk-8u172-linux-x64....
[第八篇]——Docker 容器使用之cas源码
最新发布
m0_68459853的博客
08-11
84
docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。来查看 Docker 的底层信息。在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。从上面,我们可以看到应用程序使用的是 5000 端口并且能够查看到应用程序的访问日志。正在运行的容器,我们可以使用 docker restart 命令来重启。...
docker搭建cas服务 精简版
nimei31的博客
05-09
2501
最近工作中遇到需要对接cas登录,想本地搭建,但是安装java那一套东西太恶心了,于是打算容器化部署一套。看网上各种照抄,我服了,而且介绍不清楚,我特地花点时间记录一下。
我整理了一份docker-compose.yml文件,方便大家使用,直接抄到自己机器up即可
version: "3"
services:
daemon:
image: apereo/cas:v5.0.4
container_name: cas1
# restart: always
port
cas sso docker部署service
weixin_30904593的博客
09-19
872
1. 拉取镜像
docker pull apereo/cas:${tag}
2. 启动容器
docker run --name cas -p 8443:8443 -p 8878:8080 apereo/cas:v5.3.10 /bin/sh /cas-overlay/bin/run-cas.sh
会报错,因为没有证书
3. 制作SSL证书
keytoo...
Jenkins+Docker持续集成
weixin_30892987的博客
11-15
3088
本节内容:
Jenkins介绍
安装部署Jenkins
Jenkins构建maven风格的job
Jenkins邮件通知设置
Sonar
Jenkins与Docker结合
一、Jenkins介绍
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
二、安装...
CAS5.3.2Docker 部署方案
11-29
CAS5.3.2Docker 部署方案CAS5.3.2Docker 部署方案CAS5.3.2Docker 部署方案
CAS_5.2 cas-overlay-template,https安全协议,数据库认证,ldap认证 搭建(一)
qq_35748567的博客
06-22
1184
一、到github下载5.2x版本的 cas-overlay-template
https://github.com/apereo/cas-overlay-template
下载cas-overlay-template,在解压后的文件路径下执行maven命令build package,会下载依赖构建war包,在target文件夹下生成cas.war
maven命令不熟的可以把解压后的文件导入ecl...
CAS-overlay 搭建
obession的博客
02-06
6006
apache-maven-3.5.2
apache-tomcat-8.5.16
JDK 1.8
服务端官方下载:https://github.com/apereo/cas-overlay-template
客户端官方下载:https://github.com/cas-projects/cas-sample-java-webapp
客户端配置官方文档:https://github.com/
Overlay 方式构建 CAS
围炉夜话
09-16
1588
欢迎使用Markdown编辑器写博客
本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:
Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键
快捷键
加粗 Ctrl + B
斜体 Ctrl + I...
基于CAS 实现与容器(Tomcat 或者 JBoss)的SSO
企业级互联网应用
04-30
89
[b]需求描述1[/b]:大家知道J2EE应用程序都可以用类型以下形式进行保护:
[code="xml"]
FORM
/login.jsp
/failure.jsp
Security Realm
Tomcat security const...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
禛陌
CSDN认证博客专家
CSDN认证企业博客
码龄15年
暂无认证
52
原创
6万+
周排名
4万+
总排名
7万+
访问
等级
943
积分
19
粉丝
29
获赞
28
评论
155
收藏
私信
关注
热门文章
EasyExcel 动态表头生成且带合并
22625
Springboot+MyBatis-plus+postgresSQL 的整合
16091
maven+springboot+npm+vue 创建项目
5598
Nginx实现前后端分离(springboot+vue)+双机互备
4151
docker+cas-overlay集成
1890
分类专栏
笔记
9篇
大数据分析
1篇
clickhouse
1篇
成长,历程,心得
2篇
技术相关
42篇
配置学习相关
6篇
nw.js
1篇
最新评论
JAVA反射机制获取类中BigDecimal属性值
logic_c:
BigDecimal bigDecimalVar = new BigDecimal(field.get(name).toString());
问题在于这一行的 field.get(name), 修改为 field.get(t)即可
docker+cas-overlay集成
weixin_45609710:
老哥 application.properties在哪个路径下啊 没找着
EasyExcel 动态表头生成且带合并
程序猿(Java):
List<List<Object>>当中的List<Object>是一列的数据?
EasyExcel 动态表头生成且带合并
勤劳的马龙:
你这不全导的是同一条吗
docker+cas-overlay集成
java noob:
老哥你这样加的数据库和依赖的配置能生效么? 我这边docker里的cas好像不会重新构建
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Springcloud项目接入nacos
Springboot URL Rewrite
Python与JAVA学习内容对比
2022年6篇
2021年10篇
2020年6篇
2019年21篇
2017年2篇
2011年2篇
2010年3篇
2009年4篇
2008年10篇
目录
目录
分类专栏
笔记
9篇
大数据分析
1篇
clickhouse
1篇
成长,历程,心得
2篇
技术相关
42篇
配置学习相关
6篇
nw.js
1篇
目录
评论 2
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
禛陌
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值