51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【安装部署】DataEase 集成对接 CAS 实现用户单点登录

1 场景介绍 {#heading-1}

随着企业 IT 场景越来越复杂,应用平台不断增加,用户需要管理每个应用平台的登录信息;用户集中管理平台(如:"LDAP")可以使用户在所有应用平台使用同一个用户名进行登录;而单点登录平台,可以使用户登录任一应用平台后,继续登录其他平台无需输入密码,直接进入登录后的状态。

常用的单点登录协议有OIDC、OAuth 2.0、SAML2、CAS 等,本教程将介绍部署 CAS 并集成对接到 DataEase,实现单点登录。

2 安装Tomcat & JDK 8 {#heading-2}

2.1 下载安装包并安装 {#heading-3}

#下载 tomcat
cd /opt
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.86/bin/apache-tomcat-8.5.86.tar.gz --no-check-certificate
tar -zxvf apache-tomcat-8.5.86.tar.gz
mv apache-tomcat-8.5.86 tomcat
`#上传 jdk 并配置 jdk 环境
tar -zxvf jdk-8u351-linux-x64.tar.gz -C /usr/local && `
`
echo "export JAVA_HOME=/usr/local/jdk1.8.0_351
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" >> ~/.bash_profile && `
`
source ~/.bash_profile && `
`
java -version`

2.2 启动 tomcat {#heading-4}

cd /opt/tomcat
bin/startup.sh

访问 tomcat 页面验证是否正常访问

http://ip:8080

1-hwqd.png

3 部署 CAS {#heading-5}

3.1 下载 CAS 程序包 {#heading-6}

# 下载 cas 程序包
wget https://repo1.maven.org/maven2/org/apereo/cas/cas-server-webapp-tomcat/5.3.14/cas-server-webapp-tomcat-5.3.14.war

将 cas 程序包放置于 tomcat 目录
======================


`mv cas-server-webapp-tomcat-5.3.14.war /opt/tomcat/webapps/cas.war`

3.2 修改 CAS 配置 {#heading-7}

vim /opt/tomcat/webapps/cas/WEB-INF/classes/application.properties

#添加三个登录用户
cas.authn.accept.users=casuser::Mellon,user1::123456,user2::123456

#添加两条配置


#是否开启json识别功能,默认为false
cas.serviceRegistry.initFromJson=true

`#忽略https安全协议,使用 HTTP 协议
cas.tgc.secure=false`

vim /opt/tomcat/webapps/cas/WEB-INF/classes/services/HTTPSandIMAPS-10000001.json

#添加 http 认证:
"serviceId" : "^(https|http|imaps)://.*",

3.3 重启 Tomcat {#heading-8}

/opt/tomcat/bin/shutdown.sh
/opt/tomcat/bin/start.sh

3.4 访问验证 {#heading-9}

http://IP:8080/cas/login

测试用户登录:

用户:casuser 密码:Mellon

用户:user1 密码:123456

`用户:user2 密码:123456`

2-injr.png

用户登录成功,关闭页面前先点击 "登出"。

3-fwlt.png

3.5 补充 {#heading-10}

如果只为测试功能,可以使用 Docker 镜像启动 CAS 服务:

docker run -it -d -p 8080:8080 --name cas uhub.service.ucloud.cn/dataease/cas:latest

#查看 cas 容器状态,等待为 healthy 状态
docker ps \|grep cas
f18376dfc0ff   cas:v8    "/opt/tomcat/bin/sta..."   15 minutes ago   Up 15 minutes (healthy)   0.0.0.0:8080-\>8080/tcp, :::8080-\>8080/tcp   cas


#内置用户:
#user1::123456
#user2::123456

`#访问地址:
#http://服务器 IP:8080/cas
`


4 配置 CAS 认证 {#heading-11}

4.1 DataEase 配置 CAS {#heading-12}

使用管理员用户登录 DataEase,访问 系统管理 --> 系统配置 --> 认证设置 --> CAS 设置;

编辑 CAS 设置信息:

CAS 服务地址:
http://CAS地址/cas/

CAS 登录地址:
http://CAS地址/cas/login

`回调地址:
http://DataEase-IP/cas/callBack`

4-rwnr.png


设置默认登录方式为 CAS

访问 系统管理 --> 系统设置 --> 系统参数 --> 基础设置,将 "默认登录方式" 改为 CAS;

5-jxeo.png

4.2 访问 DataEase 验证 {#heading-13}

访问 DataEase 的登录页面,会自动跳转到 CAS 的认证界面,填写 CAS 中的用户登录;

6-yszf.png

可正常登录到 DataEase;

7-dujy.png

如果你的环境中有其他用户也集成了 CAS,那么这时访问应用可实现免密直接登录。

4.3 恢复默认登录方式 {#heading-14}

浏览器输入:DataEase地址/cas/reset/admin/admin密码

即可恢复普通用户登录方式;

如果CAS有故障导致不能通过以上方式恢复默认登录,可修改数据库配置参数来解决:

登录 DataEase 服务器shell 界面,执行命令:

docker exec -it mysql bash
`mysql -uroot -pPassword123@mysql  -e "update dataease.system_parameter set param_value = 0 where param_key = 'basic.loginType';"`



赞(0)
未经允许不得转载:工具盒子 » 【安装部署】DataEase 集成对接 CAS 实现用户单点登录