DataGear企业版基于开源版开发,新增了诸多企业级特性,包括:
MySQL及更多部署数据库支持、MQTT/WebSocket/Redis/MongoDB数据集、组织机构管理、
OAuth2.0/CAS/JWT/LDAP统一登录集成、集群部署、系统备份与还原、更细粒度的权限控制、前后端敏感信息加密传输等等,
可为您提供更安全、更稳定、更强大数据可视化解决方案。
| 标准版 | 高级版 | |
|---|---|---|
| 操作系统 | Linux、Windows | Linux(需安装NFS网络文件系统) |
| 数据库 |
MySQL 5.7+、PostgreSQL 9.6+、Oracle 11+、SQL Server 2008+
(或者是兼容上述任一数据库SQL语法的数据库) |
|
| JDK(Java运行环境) | JDK 8+ | |
| Redis | 无需 | Redis 2.8+ |
| Nginx | 无需 | Nginx 1.0+ |
如果要安装WAR软件包,还需选择支持Java EE Servlet 4.0+版本的运行容器,推荐如下:
| Tomcat 9.0+ |
| Jetty 10.0+ |
| Undertow 2.0+ |
目前版本还不支持Jakarta EE Servlet运行容器。
数据库服务器和应用服务器可以是同一台物理主机。
客户端:安装浏览器
Web服务器: 安装Nginx
应用服务器一: 安装JDK、 安装NFS客户端程序、 安装DataGear企业版
应用服务器二: 安装JDK、 安装NFS客户端程序、 安装DataGear企业版
数据库服务器: 安装数据库、 安装Redis
存储服务器: 安装NFS服务程序
Web服务器: 安装Nginx
应用服务器一: 安装JDK、 安装NFS客户端程序、 安装DataGear企业版
应用服务器二: 安装JDK、 安装NFS客户端程序、 安装DataGear企业版
数据库服务器: 安装数据库、 安装Redis
存储服务器: 安装NFS服务程序
Web服务器和其中一台应用服务器可以是同一台物理主机。
数据库服务器和存储服务器可以是同一台物理主机。
Redis也可以安装至另外一台单独的物理主机。
数据库服务器和存储服务器可以是同一台物理主机。
Redis也可以安装至另外一台单独的物理主机。
1. 安装
数据库安装步骤请参考其官方文档,这里不再说明。
2. 创建数据库
安装并启动数据库服务后,创建专门用于DataGear企业版的数据库和用户:
数据库/模式:datagearprodb,数据库用户:datagearpro
数据库/模式:datagearprodb,数据库用户:datagearpro
DataGear会在初次启动时初始化数据库,执行新建数据库表/函数、插入/更新数据的SQL语句,您需要为数据库用户授予这些执行权限。
迁移开源版数据?
如果您已在使用DataGear开源版,且部署数据库不是内置Derby数据库(已执行过变更部署数据库),
且需要迁移开源版数据,则无需新创建数据库,应使用数据库软件自带的管理工具完全复制一份开源版数据库(包括数据、表名、函数等),
作为DataGear企业版安装数据库(仍需为数据库用户授予新建数据库表/函数、执行SQL的权限)。
迁移开源版数据需要开源版系统是2.13.0或更高版本,如果低于此版本,
请参考这里进行升级后再迁移。
常用数据库的建库参考
下述【数据库密码】应替换为实际要设置的密码。
MySQL
打开MySQL客户端(比如:MySQL Workbench、Navicat、DBeaver等),
使用root用户登录,执行如下SQL脚本:
CREATE SCHEMA datagearprodb DEFAULT CHARACTER SET utf8mb4;
/* 为了增强数据库安全性,可以把下面语句中的%替换为应用服务器的主机地址 */
CREATE USER 'datagearpro'@'%' IDENTIFIED BY '【数据库密码】';
GRANT ALL ON datagearprodb.* TO 'datagearpro';
对于MySQL 8.0+版本,还需执行如下SQL脚本,以启用允许DataGear初始化时新建数据库函数的设置:
set global log_bin_trust_function_creators = 1;
当DataGear安装启动完成,可以正常访问后,可以执行如下SQL脚本禁用上述设置:
set global log_bin_trust_function_creators = 0;
PostgreSQL
打开pgAdmin工具,点击展开菜单【Servers】-【PostgreSQL XXX】-【Databases】,
右键点击【postgres】,在弹出面板中点击【Query Tool...】,分别独立执行执行如下三条SQL脚本:
CREATE USER datagearpro WITH LOGIN NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT NOREPLICATION CONNECTION LIMIT -1 PASSWORD '【数据库密码】'; GRANT postgres TO datagearpro; CREATE DATABASE datagearprodb WITH OWNER = datagearpro ENCODING = 'UTF8' CONNECTION LIMIT = -1;
Oracle
打开Oracle客户端工具(比如:SQL Plus、SQL Developer等),
使用管理员用户登录(比如:sys),执行如下SQL脚本:
CREATE USER datagearpro IDENTIFIED BY "【数据库密码】"; GRANT "CONNECT" TO datagearpro; GRANT "RESOURCE" TO datagearpro;
SQL Server
打开SQL Server Management Studio管理工具,登录。
(1) 右键点击【数据库】,在弹出面板中点击【新建数据库】,新建名称为datagearprodb的数据库;
(2) 点击展开菜单【安全性】,右键点击【登录名】, 在弹出面板中点击【新建登录名】,填写如下信息:
【常规】
【登录名】:datagearpro
【SQL Server 身份验证】:勾选,填写登录密码
【强制实施密码策略】:取消勾选
【默认数据库】:datagearprodb
【用户映射】
【映射到此登录名的用户】:勾选datagearprodb
【数据库角色成员身份】:勾选db_owner、public
然后点击【确定】,新建登录名。
(2) 点击展开菜单【安全性】,右键点击【登录名】, 在弹出面板中点击【新建登录名】,填写如下信息:
【常规】
【登录名】:datagearpro
【SQL Server 身份验证】:勾选,填写登录密码
【强制实施密码策略】:取消勾选
【默认数据库】:datagearprodb
【用户映射】
【映射到此登录名的用户】:勾选datagearprodb
【数据库角色成员身份】:勾选db_owner、public
然后点击【确定】,新建登录名。
其他兼容数据库
参考其官方文档,创建数据库。
1. 安装
Redis安装步骤请参考其官方文档(官方网站:https://redis.io),这里不再说明。
2. 配置
打开Redis配置文件,通常是/etc/redis/redis.conf文件,进行如下设置:
设置连接密码
将:
允许远程访问
将:
将:
更多Redis配置请参考其官方文档。
设置连接密码
将:
# requirepass foobared修改为:
requirepass 【Redis密码】上述【Redis密码】应替换为实际要设置的密码。
允许远程访问
将:
# bind 127.0.0.1修改为:
bind 【Redis服务器IP地址】上述【Redis服务器IP地址】应替换为实际Redis服务器的IP地址。
将:
protected-mode yes修改为:
protected-mode noRedis低于3.2.0版本没有上述配置功能,可以忽略。
更多Redis配置请参考其官方文档。
3. 启动
执行如下命令,启动Redis服务:
sudo service redis start
其他Redis命令:
停止服务:sudo service redis stop
查看状态:sudo service redis status
停止服务:sudo service redis stop
查看状态:sudo service redis status
4. 测试
执行如下命令,启动Redis客户端程序:
上述【Redis密码】应替换为实际密码。
redis-cli登录客户端:
auth 【Redis密码】测试:
ping打印PONG,表明安装成功。
上述【Redis密码】应替换为实际密码。
1. 安装
NFS安装步骤参考相应Linux发行版官方文档,这里不再说明。
需要注意的是:存储服务器应安装NFS服务程序,应用服务器一、应用服务器二应安装NFS客户端程序。
需要注意的是:存储服务器应安装NFS服务程序,应用服务器一、应用服务器二应安装NFS客户端程序。
2. 配置NFS服务端
登录存储服务器,新建一个目录,作为DataGear数据目录,用于存储DataGear文件数据:
sudo mkdir 【DataGear数据目录】新建另一个目录,作为DataGear备份目录,用于存储DataGear备份文件:
sudo mkdir 【DataGear备份目录】打开和编辑NFS配置文件(通常是/etc/exports文件),设置共享目录:
sudo vi /etc/exports在打开文件中添加如下内容后保存:
【DataGear数据目录】 【应用服务器一IP地址】(rw,no_root_squash,sync) 【应用服务器二IP地址】(rw,no_root_squash,sync) 【DataGear备份目录】 【应用服务器一IP地址】(rw,no_root_squash,sync) 【应用服务器二IP地址】(rw,no_root_squash,sync)上述【DataGear数据目录】应替换为实际目录名,示例:/home/datagearprodata; 【DataGear备份目录】应替换为实际目录名,示例:/home/datagearprobak; 【应用服务器一IP地址】应替换为实际应用服务器一的IP地址;【应用服务器二IP地址】应替换为实际应用服务器二的IP地址。
3. 启动NFS服务端
使用服务启动命令(比如service、systemctl)启动NFS服务。
4. 配置NFS客户端
分别登录应用服务器一、应用服务器二,新建DataGear挂载数据目录,用于挂载NFS服务端DataGear数据目录:
sudo mkdir 【DataGear挂载数据目录】然后执行挂载命令:
sudo mount -t nfs 【存储服务器IP地址】:【DataGear数据目录】 【DataGear挂载数据目录】新建DataGear挂载备份目录,用于挂载NFS服务端DataGear备份目录:
sudo mkdir 【DataGear挂载备份目录】然后执行挂载命令:
sudo mount -t nfs 【存储服务器IP地址】:【DataGear备份目录】 【DataGear挂载备份目录】设置开机自动挂载:
sudo vi /etc/fstab在打开文件中添加如下内容后保存:
【存储服务器IP地址】:【DataGear数据目录】 【DataGear挂载数据目录】 nfs defaults 0 0 【存储服务器IP地址】:【DataGear备份目录】 【DataGear挂载备份目录】 nfs defaults 0 0上述【DataGear挂载数据目录】应替换为实际目录名,示例:/mnt/datagearprodata; 【DataGear挂载备份目录】应替换为实际目录名,示例:/mnt/datagearprobak; 【存储服务器IP地址】应替换为实际存储服务器的IP地址; 【DataGear数据目录】应替换为存储服务器上的【DataGear数据目录】实际目录名 【DataGear备份目录】应替换为存储服务器上的【DataGear备份目录】实际目录名。
5. 测试
登录应用服务器一,在【DataGear挂载数据目录】新建和保存测试文件:
测试成功后,删除测试文件:
vi 【DataGear挂载数据目录】/test1.txt登录应用服务器二,在【DataGear挂载数据目录】新建和保存测试文件:
vi 【DataGear挂载数据目录】/test2.txt分别在应用服务器一、应用服务器二,执行如下命令:
ls 【DataGear挂载数据目录】如果都能看到和编辑test1.txt、test2.txt,表明NFS安装成功。
测试成功后,删除测试文件:
rm 【DataGear挂载数据目录】/test1.txt 【DataGear挂载数据目录】/test2.txt上述【DataGear挂载数据目录】应替换为实际目录名。
然后,以同样的方式测试【DataGear挂载备份目录】是否挂载成功。
1. 安装
2. 测试
安装完成后,打开Linux系统的终端工具,或者打开Windows系统的CMD命令提示符程序,输入:
java -version打印Java版本相关信息,表明安装成功。
DataGear企业版支持集成软件包、WAR软件包两种安装包:
集成软件包:已集成了运行容器,可通过命令直接启动(仍需要预先安装JDK 8+版本运行环境);
WAR软件包:未集成运行容器,需要将WAR包部署至运行容器启动(比如:Tomcat)。
您可以根据需要,选择其中一种安装包。
集成软件包:已集成了运行容器,可通过命令直接启动(仍需要预先安装JDK 8+版本运行环境);
WAR软件包:未集成运行容器,需要将WAR包部署至运行容器启动(比如:Tomcat)。
您可以根据需要,选择其中一种安装包。
1. 下载
2. 安装
将下载后的datagear-pro-[version].zip解压至您期望安装的目录内即可。
3. 配置
打开解压后datagear-pro-[version]文件夹内的config/application.properties,开始配置:
点击这里了解更多可选配置项。
迁移开源版数据?
如果您已在使用DataGear开源版,且部署数据库不是内置Derby数据库(已执行过变更部署数据库),
且需要迁移开源版数据,应在配置完成后,将开源版系统的所有文件类数据(默认存储在【操作系统用户主目录】/.datagear文件夹内,其中的derby和temp文件夹无需复制)复制到配置主目录章节DATAGEAR_PRO_HOME配置项对应的目录内。
迁移开源版数据需要开源版系统是2.13.0或更高版本,如果低于此版本,
请参考这里进行升级后再迁移。
4. 安装许可证
5. 启动
对于Linux系统,打开终端,进入datagear-pro-[version]目录,执行如下命令即可启动:
./startup.sh
对于Windows系统,打开CMD命令提示符工具,进入datagear-pro-[version]目录,执行如下命令即可启动:
./startup.bat
启动过程可能需要几十秒,然后打开浏览器,地址栏输入:
上述【应用服务器IP地址】应替换为实际应用服务器的IP地址,例如:192.168.1.1。
http://【应用服务器IP地址】:50401即可打开应用主页面。
上述【应用服务器IP地址】应替换为实际应用服务器的IP地址,例如:192.168.1.1。
高级版部署时,需等待应用服务器一上的DataGear企业版启动完成后,再启动应用服务器二上的DataGear。
要停止程序,在Linux系统下,执行shutdown.sh即可;在Windows系统下,关闭程序运行窗口即可。
1. 下载
2. 安装
(1) 将下载后的datagear-pro-[version]-war.zip解压。
(2) 将解压软件包内的config文件夹复制到【操作系统用户主目录】/datagearpro-war目录(没有则新建)内。
(3) 使用ZIP工具打开解压软件包内的datagear-pro-[version].war文件, 然后将解压软件包内jdbc文件夹里面与安装数据库对应的JDBC驱动库*.jar文件复制到datagear-pro-[version].war包内的WEB-INF/lib/目录中。
JDBC驱动库说明如下:
(2) 将解压软件包内的config文件夹复制到【操作系统用户主目录】/datagearpro-war目录(没有则新建)内。
(3) 使用ZIP工具打开解压软件包内的datagear-pro-[version].war文件, 然后将解压软件包内jdbc文件夹里面与安装数据库对应的JDBC驱动库*.jar文件复制到datagear-pro-[version].war包内的WEB-INF/lib/目录中。
JDBC驱动库说明如下:
| 数据库 | 驱动库 |
|---|---|
| MySQL | jdbc/mysql-connector-j-8.0.33/mysql-connector-j-8.0.33.jar |
| PostgreSQL | jdbc/postgresql-42.6.0/postgresql-42.6.0.jar |
| Oracle | jdbc/ojdbc8-21.9.0.0/ojdbc8-21.9.0.0.jar |
| SQL Server | jdbc/mssql-jdbc-10.2.3.jre8/mssql-jdbc-10.2.3.jre8.jar |
3. 配置
打开【操作系统用户主目录】/datagearpro-war文件夹内的config/application.properties,开始配置:
点击这里了解更多可选配置项。
迁移开源版数据?
如果您已在使用DataGear开源版,且部署数据库不是内置Derby数据库(已执行过变更部署数据库),
且需要迁移开源版数据,应在配置完成后,将开源版系统的所有文件类数据(默认存储在【操作系统用户主目录】/.datagear文件夹内,其中的derby和temp文件夹无需复制)复制到配置主目录章节DATAGEAR_PRO_HOME配置项对应的目录内。
迁移开源版数据需要开源版系统是2.13.0或更高版本,如果低于此版本,
请参考这里进行升级后再迁移。
4. 安装许可证
5. 部署
将解压软件包内的datagear-pro-[version].war部署至运行容器(比如复制到Tomcat主目录内的webapps文件夹内)。
6. 启动
启动运行容器即可。
DataGear企业版日志将会写入【操作系统用户主目录】/datagearpro-war/logs文件夹内。
高级版部署时,需等待应用服务器一上的DataGear企业版启动完成后,再启动应用服务器二上的DataGear。
1. 安装
Nginx安装步骤请参考其官方文档(官方网站:https://nginx.org),这里不再说明。
2. 配置
打开和编辑Nginx配置文件(通常是/etc/nginx/nginx.conf文件),配置HTTP代理:
sudo vi /etc/nginx/nginx.conf在打开文件中的http {里面添加配置内容。
如果安装的是DataGear企业版集成软件包,http {里面添加的配置内容应为:
如果配置了应用根路径,比如:/datagearpro, 需将上述location /修改为location /datagearpro、 将proxy_pass http://datagearproapp;修改为proxy_pass http://datagearproapp/datagearpro;。
upstream datagearproapp {
server 【应用服务器一IP地址】:50401;
server 【应用服务器二IP地址】:50401;
}
server {
listen 80;
location / {
proxy_pass http://datagearproapp;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 1G;
}
location /websocket/ {
proxy_pass http://datagearproapp;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 1G;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
如果配置了应用端口,比如:5600,需将上述50401修改为5600。
如果配置了应用根路径,比如:/datagearpro, 需将上述location /修改为location /datagearpro、 将proxy_pass http://datagearproapp;修改为proxy_pass http://datagearproapp/datagearpro;。
如果安装的是DataGear企业版WAR软件包,http {里面添加的配置内容与上述类似,示例:
upstream datagearproapp {
server 【应用服务器一IP地址】:8080;
server 【应用服务器二IP地址】:8080;
}
server {
listen 80;
location /datagearpro {
proxy_pass http://datagearproapp/datagearpro;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 1G;
}
location /datagearpro/websocket/ {
proxy_pass http://datagearproapp/datagearpro;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 1G;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
然后将:
include /etc/nginx/sites-enabled/*;修改为:
#include /etc/nginx/sites-enabled/*;禁用默认网站功能,然后保存配置文件。
上述【应用服务器一IP地址】应替换为实际应用服务器一的IP地址;
【应用服务器二IP地址】应替换为实际应用服务器二的IP地址;
【Web服务器IP地址】应替换为实际Web服务器的IP地址。
更多Nginx配置请参考其官方文档。
更多Nginx配置请参考其官方文档。
3. 启动
sudo service nginx start打开浏览器,地址栏输入:
http://【Web服务器IP地址】或者(安装的集成软件包且配置了应用根路径)
http://【Web服务器IP地址】/datagearpro或者(安装的WAR软件包)
http://【Web服务器IP地址】/datagearpro即可打开DataGear应用主页。
上述【Web服务器IP地址】应替换为实际Web服务器的IP地址。
其他Nginx命令:
停止服务:sudo service nginx stop
查看状态:sudo service nginx status
停止服务:sudo service nginx stop
查看状态:sudo service nginx status
如果您已经在使用DataGear开源版,点击这里了解如何迁移开源版数据。
系统初始会内置一个管理员用户,用户名/密码为:admin/admin,
登录后点击主页面右上角的下拉菜单可以打开系统管理功能。
1. 准备新版程序
按照安装集成软件包、
安装WAR软件包章节所述的步骤准备新版本程序,
将旧版程序目录中的配置和其他变更(在config/、lib/、static/文件夹内)同步至新版本程序目录内。
注意:对于config/*.properties配置文件,新版本中可能会有格式变更,不能直接替换为旧版文件,应将旧版中有修改的配置项覆盖至新版配置文件中的同名项。
注意:对于config/*.properties配置文件,新版本中可能会有格式变更,不能直接替换为旧版文件,应将旧版中有修改的配置项覆盖至新版配置文件中的同名项。
2. 停止旧版程序,启动新版程序
对于Linux系统,执行shutdown.sh即可停止程序,对于Windows系统,关闭程序启动的命令行窗口即可停止程序。
旧版本的程序目录内除了运行日志,没有其他数据,可在新版本安装完成并正常运行一段时间后删除。
集成软件包
打开DataGear企业版程序文件夹内的config/application.properties配置文件,可以进行系统配置。
WAR软件包
打开【操作系统用户主目录】/datagearpro-war文件夹内的config/application.properties配置文件,可以进行系统配置。
配置文件中没有以#开头的行是启用的配置项,以单个#开头的行是未启用的配置项,
以###开头的行是注释行,用于说明其下面的配置项。
主目录配置项名称为:DATAGEAR_PRO_HOME,企业版的所有文件类数据都存储在此目录内。
如果您安装的是标准版,应先新建一个安全可靠的目录(比如:/home/datagearprodata),然后将此配置项修改为此目录,示例:
如果您安装的是标准版,应先新建一个安全可靠的目录(比如:/home/datagearprodata),然后将此配置项修改为此目录,示例:
DATAGEAR_PRO_HOME=/home/datagearprodata如果您安装的是高级版,应将其修改为:
DATAGEAR_PRO_HOME=【DataGear挂载数据目录】/data上述【DataGear挂载数据目录】应替换为安装NFS(仅高级版需要)章节【DataGear挂载数据目录】的实际目录名。
配置完后,需重启程序,配置才会生效。
数据库连接配置项名称为:datasource.*,下面是常用数据库连接配置步骤。
对于WAR软件包安装方式,只需配置datasource.*,并按照安装WAR软件包章节复制JDBC驱动库即可,
无需后续步骤。
另参考加密配置项。
1. 配置datasource.*
MySQL
datasource.driverClassName=com.mysql.cj.jdbc.Driver datasource.url=jdbc:mysql://【数据库服务器IP地址】:3306/datagearprodb?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai datasource.username=datagearpro datasource.password=【数据库密码】
PostgreSQL
datasource.driverClassName=org.postgresql.Driver datasource.url=jdbc:postgresql://【数据库服务器IP地址】:5432/datagearprodb datasource.username=datagearpro datasource.password=【数据库密码】
Oracle
datasource.driverClassName=oracle.jdbc.driver.OracleDriver datasource.url=jdbc:oracle:thin:@【数据库服务器IP地址】:1521/orcl datasource.username=datagearpro datasource.password=【数据库密码】
SQL Server
datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver datasource.url=jdbc:sqlserver://【数据库服务器IP地址】:1433;encrypt=false;DatabaseName=datagearprodb datasource.username=datagearpro datasource.password=【数据库密码】
2. 安装JDBC驱动库(仅安装集成软件包时需要)
将与上述配置数据库对应的JDBC驱动库(*.jar文件)复制到DataGear企业版程序目录中的lib文件夹内。
企业版程序目录中的jdbc文件夹内自带了常用JDBC驱动库,可以参考使用, 详细说明请参考安装WAR软件包章节的JDBC驱动库说明表格。
企业版程序目录中的jdbc文件夹内自带了常用JDBC驱动库,可以参考使用, 详细说明请参考安装WAR软件包章节的JDBC驱动库说明表格。
配置完后,需重启程序,配置才会生效。
配置其他兼容数据库连接
参考其官方JDBC驱动相关文档,下载其*.jar驱动库,执行上述步骤。
然后,将:
然后,将:
ddlSqlLocation=修改为:
ddlSqlLocation=【兼容数据库名】上述【兼容数据库名】应替换为与此数据库SQL语法兼容的mysql、postgresql、oracle、sqlserver 四者之一。
配置完后,需重启程序,配置才会生效。
1. 将:
cluster.enabled=false修改为:
cluster.enabled=true
2. 将:
另参考加密配置项。
#spring.redis.host= #spring.redis.port=6379 #spring.redis.password=修改为:
spring.redis.host=【数据库服务器IP地址】 spring.redis.port=6379 spring.redis.password=【Redis密码】上述【数据库服务器IP地址】应替换为实际数据库服务器的IP地址, 【Redis密码】应替换为安装Redis(仅高级版需要)章节【Redis密码】的实际密码。
另参考加密配置项。
3. 将:
#spring.cache.type=redis修改为:
spring.cache.type=redis
4. 将:
#spring.session.store-type=redis修改为:
spring.session.store-type=redis
5. 将:
修改此配置后,用户重设密码操作需要在服务端【校验目录】内新建空白文件时,应在【DataGear挂载数据目录】/resetpsdfile内新建。
resetPasswordCheckFileDirectory=${user.home}
修改为:
resetPasswordCheckFileDirectory=【DataGear挂载数据目录】/resetpsdfile上述【DataGear挂载数据目录】应替换为安装NFS(仅高级版需要)章节【DataGear挂载数据目录】的实际目录名。
修改此配置后,用户重设密码操作需要在服务端【校验目录】内新建空白文件时,应在【DataGear挂载数据目录】/resetpsdfile内新建。
配置完后,需重启程序,配置才会生效。
集群重启时,需等待应用服务器一上的DataGear企业版启动完成后,再启动应用服务器二上的DataGear。
集群重启时,需等待应用服务器一上的DataGear企业版启动完成后,再启动应用服务器二上的DataGear。
将:
backup.enabled=false修改为:
backup.enabled=true
然后,通过backup.directory配置项设置备份目录。
如果您安装的是标准版,应先新建一个安全可靠的目录(比如:/home/datagearprobak),然后将此配置项修改为此目录,示例:
如果您安装的是标准版,应先新建一个安全可靠的目录(比如:/home/datagearprobak),然后将此配置项修改为此目录,示例:
backup.directory=/home/datagearprobak如果您安装的是高级版,应将其修改为:
backup.directory=【DataGear挂载备份目录】上述【DataGear挂载备份目录】应替换为安装NFS(仅高级版需要)章节【DataGear挂载备份目录】的实际目录名。
默认备份周期是:每天凌晨两点备份,周一至周六是增量备份,周日则是全量备份,
修改backup.interval和backup.modeSignalInterval可更改。
配置完后,需重启程序,配置才会生效。
将:
上述【加密密码】应替换为实际要设置的加密密码(仅可包含英文字符)。
如果您安装的是高级版,应用服务器一、应用服务器二上配置的【加密密码】需相同。
dtbsSourcePsd.crypto.enabled=false dtbsSourcePsd.crypto.secretKey=RGF0YUdlYXI=修改为:
dtbsSourcePsd.crypto.enabled=true dtbsSourcePsd.crypto.secretKey=【加密密码】即可启用数据源密码加密存储。
上述【加密密码】应替换为实际要设置的加密密码(仅可包含英文字符)。
如果您安装的是高级版,应用服务器一、应用服务器二上配置的【加密密码】需相同。
配置完后,需重启程序,配置才会生效。
将:
上述【加密密码】应替换为实际要设置的加密密码(仅可包含英文字符)。
如果您安装的是高级版,应用服务器一、应用服务器二上配置的【加密密码】需相同。
dashboardSharePsd.crypto.enabled=false dashboardSharePsd.crypto.secretKey=RGF0YUdlYXI=修改为:
dashboardSharePsd.crypto.enabled=true dashboardSharePsd.crypto.secretKey=【加密密码】即可启用看板分享密码加密存储。
上述【加密密码】应替换为实际要设置的加密密码(仅可包含英文字符)。
如果您安装的是高级版,应用服务器一、应用服务器二上配置的【加密密码】需相同。
配置完后,需重启程序,配置才会生效。
将:
runInSafeMode=false修改为:
runInSafeMode=true即可将系统切换为安全运行模式。
当系统处于安全运行模式时,除了系统还原、导入开源版数据,其他主体功能都不可用。
因此,在执行完这两个操作后,应关闭安全运行模式:
因此,在执行完这两个操作后,应关闭安全运行模式:
runInSafeMode=false
配置完后,需重启程序,配置才会生效。
系统定制配置项名称为:custom.*。
定制系统主页左上角图标
设置custom.defaultLogo或者custom.lightThemeLogo与custom.darkThemeLogo即可。
如果要统一设置,只需要配置custom.defaultLogo即可,示例:
文本:
对于WAR包安装方式,应放在【操作系统用户主目录】/datagearpro-war文件夹内的static文件夹内(没有则新建)。
如果要统一设置,只需要配置custom.defaultLogo即可,示例:
文本:
custom.defaultLogo=<a href="$CONTEXTPATH/" class="link text-primary">某公司数据可视化平台</a>图片:
custom.defaultLogo=<a href="$CONTEXTPATH/" class="img-link"><img src="$CONTEXTPATH/static/my-logo.png" style="height:2rem;width:auto;"></a>上述my-logo.png图片需放在DataGear企业版程序目录下的static文件夹内。
对于WAR包安装方式,应放在【操作系统用户主目录】/datagearpro-war文件夹内的static文件夹内(没有则新建)。
如果希望浅色和暗色系统主题使用不同的图片,只需配置custom.lightThemeLogo、custom.darkThemeLogo即可,示例:
对于WAR包安装方式,应放在【操作系统用户主目录】/datagearpro-war文件夹内的static文件夹内(没有则新建)。
custom.lightThemeLogo=<a href="$CONTEXTPATH/" class="img-link"><img src="$CONTEXTPATH/static/my-logo-light.png" style="height:2rem;width:auto;"></a> custom.darkThemeLogo=<a href="$CONTEXTPATH/" class="img-link"><img src="$CONTEXTPATH/static/my-logo-dark.png" style="height:2rem;width:auto;"></a>上述my-logo-light.png、my-logo-dark.png图片需放在DataGear企业版程序目录下的static文件夹内。
对于WAR包安装方式,应放在【操作系统用户主目录】/datagearpro-war文件夹内的static文件夹内(没有则新建)。
定制网页标题栏后缀
设置custom.pageTitleSuffix即可定制网页标题后缀,示例:
custom.pageTitleSuffix=某公司数据可视化平台
隐藏网页标题栏图标
将:
custom.hideFavicon=false修改为:
custom.hideFavicon=true即可。
隐藏界面底部版权声明
将:
custom.hideCopyright=false修改为:
custom.hideCopyright=true即可。
配置完后,需重启程序,配置才会生效。
将:
disableRegister=false修改为:
disableRegister=true即可禁用注册功能。
配置完后,需重启程序,配置才会生效。
只有配置了邮件服务,忘记密码功能才支持自助发送邮件找回密码。
邮件服务配置项名称为:spring.mail.*,默认未启用。
下面是一个启用SSL的邮件服务配置示例:
各邮件服务的端口号和其他配置要求各不相同,具体请参考其相关文档。
另参考加密配置项。
spring.mail.host=【邮件服务器IP地址】 spring.mail.port=465 spring.mail.username=【发送人登录邮箱】 spring.mail.password=【发送人登录密码】 spring.mail.properties[mail.smtp.auth]=true spring.mail.properties[mail.smtp.ssl.enable]=true spring.mail.properties[mail.smtp.starttls.enable]=true spring.mail.properties[mail.smtp.starttls.required]=true上述【邮件服务器IP地址】应替换为实际邮件服务器的IP地址/域名, 【发送人登录邮箱】应替换为实际发送人登录邮箱,【发送人登录密码】应替换为实际发送人登录密码。
各邮件服务的端口号和其他配置要求各不相同,具体请参考其相关文档。
另参考加密配置项。
配置完后,需重启程序,配置才会生效。
修改server.port可配置应用端口。
示例:
示例:
将:
或者修改为:
上述【应用服务器IP地址】应替换为实际应用服务器的IP地址,例如:192.168.1.1。
server.port=50401修改为:
server.port=8080即可通过http://【应用服务器IP地址】:8080访问DataGear服务。
或者修改为:
server.port=80即可通过http://【应用服务器IP地址】访问DataGear服务。
上述【应用服务器IP地址】应替换为实际应用服务器的IP地址,例如:192.168.1.1。
WAR包安装方式不支持此项配置。
配置完后,需重启程序,配置才会生效。
修改server.servlet.session.timeout可配置会话时长。
示例:
示例:
将:
上述m表示分钟数。
server.servlet.session.timeout=30m修改为:
server.servlet.session.timeout=60mDataGear服务将在未使用超过一小时后才过期。
上述m表示分钟数。
WAR包安装方式不支持此项配置。
配置完后,需重启程序,配置才会生效。
修改server.servlet.context-path可配置应用根路径。
示例:
示例:
将:
上述【应用服务器IP地址】应替换为实际应用服务器的IP地址,例如:192.168.1.1。
server.servlet.context-path=修改为:
server.servlet.context-path=/datagearpro即可通过http://【应用服务器IP地址】:50401/datagearpro访问DataGear服务。
上述【应用服务器IP地址】应替换为实际应用服务器的IP地址,例如:192.168.1.1。
WAR包安装方式不支持此项配置。
配置完后,需重启程序,配置才会生效。
启用OAuth2统一登录需配置sso.type、sso.oauth2.*配置项。
将:
下面是常用OAuth2服务的配置示例:
sso.type=NONE修改为:
sso.type=OAUTH2然后启用和修改sso.oauth2.*配置项。
下面是常用OAuth2服务的配置示例:
Spring认证服务(Spring Authorization Server)
sso.oauth2.registration.【注册ID】.client-id=【客户端ID】 sso.oauth2.registration.【注册ID】.client-secret=【客户端密码】 sso.oauth2.registration.【注册ID】.scope=openid, profile sso.oauth2.registration.【注册ID】.redirect-uri=http://【DataGear应用域名】/login/oauth2/code/【注册ID】 sso.oauth2.registration.【注册ID】.provider=spring sso.oauth2.provider.spring.issuer-uri=http://【Spring认证服务域名】 sso.oauth2.attr-mappings.【注册ID】.user-name-mappings[0].source=dgadmin, admin sso.oauth2.attr-mappings.【注册ID】.user-name-mappings[0].target='admin' sso.oauth2.attr-mappings.【注册ID】.user-name-mappings[1].source=* sso.oauth2.attr-mappings.【注册ID】.user-name-mappings[1].target=#USERNAME sso.oauth2.attr-mappings.【注册ID】.user-real-name-attr=*real*name*, *full*name* sso.oauth2.attr-mappings.【注册ID】.user-role-id-attr=*role*id*, *role* sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[0].source=ROLE_USER sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[0].target= sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[1].source=*admin*, *manage*, *operat* sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[1].target=ROLE_DATA_ADMIN sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[2].source=* sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[2].target=ROLE_DATA_ANALYST sso.oauth2.logouts.【注册ID】.enabled=false sso.oauth2.logouts.【注册ID】.logoutUrl=http://【Spring认证服务域名】/logout上述【注册ID】应替换为实际要设置的注册ID,示例:datagear-spring, 【客户端ID】应替换为在Spring认证服务中设置的客户端ID, 【客户端密码】应替换为在Spring认证服务中设置的客户端密码, 【DataGear应用域名】应替换为实际DataGear应用的访问域名,示例:192.168.1.1:50401, 【Spring认证服务域名】应替换为实际Spring认证服务的访问域名,示例:192.168.1.2:9000.
上述sso.oauth2.attr-mappings.【注册ID】.user-name-mappings*配置的是OAuth2登录用户至DataGear用户的映射, 其中dgadmin、admin将被映射为DataGear的admin用户登录(管理员), 其他则使用原始的Spring认证服务用户登录。如果映射的目标DataGear用户不存在,则会自动创建。
CAS(启用OAuth2认证功能)
sso.oauth2.registration.【注册ID】.client-id=【客户端ID】 sso.oauth2.registration.【注册ID】.client-secret=【客户端密码】 sso.oauth2.registration.【注册ID】.client-authentication-method=client_secret_basic sso.oauth2.registration.【注册ID】.authorization-grant-type=authorization_code sso.oauth2.registration.【注册ID】.redirect-uri=http://【DataGear应用域名】/login/oauth2/code/【注册ID】 sso.oauth2.registration.【注册ID】.scope=profile sso.oauth2.registration.【注册ID】.client-name=【客户端名称】 sso.oauth2.registration.【注册ID】.provider=cas sso.oauth2.provider.cas.authorization-uri=http://【CAS服务域名】/oauth2.0/authorize sso.oauth2.provider.cas.token-uri=http://【CAS服务域名】/oauth2.0/token sso.oauth2.provider.cas.jwk-set-uri=http://【CAS服务域名】/oauth2.0/jwks sso.oauth2.provider.cas.user-info-uri=http://【CAS服务域名】/oauth2.0/profile sso.oauth2.provider.cas.user-info-authentication-method=header sso.oauth2.provider.cas.user-name-attribute=id sso.oauth2.attr-mappings.【注册ID】.user-name-mappings[0].source=dgadmin, admin sso.oauth2.attr-mappings.【注册ID】.user-name-mappings[0].target='admin' sso.oauth2.attr-mappings.【注册ID】.user-name-mappings[1].source=* sso.oauth2.attr-mappings.【注册ID】.user-name-mappings[1].target=#USERNAME sso.oauth2.attr-mappings.【注册ID】.user-real-name-attr=*real*name*, *full*name* sso.oauth2.attr-mappings.【注册ID】.user-role-id-attr=*role*id*, *role* sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[0].source=ROLE_USER sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[0].target= sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[1].source=*admin*, *manage*, *operat* sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[1].target=ROLE_DATA_ADMIN sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[2].source=* sso.oauth2.attr-mappings.【注册ID】.role-id-mappings[2].target=ROLE_DATA_ANALYST sso.oauth2.logouts.【注册ID】.enabled=false sso.oauth2.logouts.【注册ID】.logoutUrl=http://【CAS服务域名】/logout上述【注册ID】应替换为实际要设置的注册ID,示例:datagear-cas, 【客户端ID】应替换为在CAS服务中设置的客户端ID, 【客户端密码】应替换为在CAS服务中设置的客户端密码, 【客户端名称】应替换为实际要设置的客户端名称,示例:DataGear-CAS, 【DataGear应用域名】应替换为实际DataGear应用的访问域名,示例:192.168.1.1:50401, 【CAS服务域名】应替换为实际CAS服务的访问域名,示例:192.168.1.2:8080/cas.
上述sso.oauth2.attr-mappings.【注册ID】.user-name-mappings*配置的是OAuth2登录用户至DataGear用户的映射, 其中dgadmin、admin将被映射为DataGear的admin用户登录(管理员), 其他则使用原始的CAS用户登录。如果映射的目标DataGear用户不存在,则会自动创建。
详细配置信息请参考对应配置项的注释说明。
配置完后,需重启程序,配置才会生效。
启用CAS统一登录需配置sso.type、sso.cas.*配置项。
将:
上述【DataGear应用域名】应替换为实际DataGear应用的访问域名,示例:192.168.1.1:50401, 【CAS服务域名】应替换为实际CAS服务的访问域名,示例:192.168.1.2:8080/cas。
上述sso.cas.user-name-mappings*配置的是CAS登录用户至DataGear用户的映射, 其中dgadmin、admin将被映射为DataGear的admin用户登录(管理员), 其他则使用原始的CAS用户登录。如果映射的目标DataGear用户不存在,则会自动创建。
sso.type=NONE修改为:
sso.type=CAS启用和修改sso.cas.*配置项为:
sso.cas.protocol=3 sso.cas.loginFilterProcessesUrl=/login/cas sso.cas.service=http://【DataGear应用域名】/login/cas sso.cas.sendRenew=false sso.cas.casServerUrlPrefix=http://【CAS服务域名】 sso.cas.casLoginUrl=http://【CAS服务域名】/login sso.cas.enableLogout=false sso.cas.logoutFilterProcessesUrl=/logout/cas sso.cas.casLogoutUrl=http://【CAS服务域名】/logout sso.cas.user-name-mappings[0].source=dgadmin, admin sso.cas.user-name-mappings[0].target='admin' sso.cas.user-name-mappings[1].source=* sso.cas.user-name-mappings[1].target=#USERNAME sso.cas.user-real-name-attr=*real*name*, *full*name* sso.cas.user-role-id-attr=*role*id*, *role* sso.cas.role-id-mappings[0].source=*admin*, *manage*, *operat* sso.cas.role-id-mappings[0].target=ROLE_DATA_ADMIN sso.cas.role-id-mappings[1].source=* sso.cas.role-id-mappings[1].target=ROLE_DATA_ANALYST如果要开启单点退出功能,将:
sso.cas.enableLogout=false修改为:
sso.cas.enableLogout=true即可。
上述【DataGear应用域名】应替换为实际DataGear应用的访问域名,示例:192.168.1.1:50401, 【CAS服务域名】应替换为实际CAS服务的访问域名,示例:192.168.1.2:8080/cas。
上述sso.cas.user-name-mappings*配置的是CAS登录用户至DataGear用户的映射, 其中dgadmin、admin将被映射为DataGear的admin用户登录(管理员), 其他则使用原始的CAS用户登录。如果映射的目标DataGear用户不存在,则会自动创建。
详细配置信息请参考对应配置项的注释说明。
配置完后,需重启程序,配置才会生效。
启用JWT统一登录需配置sso.jwt.*配置项。
将:
下面是一个JWT统一登录配置示例,它配置了两个JWT应用。
sso.jwt.enabled=false修改为:
sso.jwt.enabled=true然后启用和修改sso.jwt.apps.*配置项。
下面是一个JWT统一登录配置示例,它配置了两个JWT应用。
sso.jwt.enabled=true sso.jwt.apps.【应用ID-1】.signKey=dgJwtSignKey0123456789abcdefghijklmnopqrstuvwxyz sso.jwt.apps.【应用ID-1】.user-name-mappings[0].source=dgadmin, admin sso.jwt.apps.【应用ID-1】.user-name-mappings[0].target='admin' sso.jwt.apps.【应用ID-1】.user-name-mappings[1].source=* sso.jwt.apps.【应用ID-1】.user-name-mappings[1].target=#USERNAME sso.jwt.apps.【应用ID-1】.role-id-mappings[0].source=*admin*, *manage*, *operat* sso.jwt.apps.【应用ID-1】.role-id-mappings[0].target=ROLE_DATA_ADMIN sso.jwt.apps.【应用ID-1】.role-id-mappings[1].source=* sso.jwt.apps.【应用ID-1】.role-id-mappings[1].target=ROLE_DATA_ANALYST sso.jwt.apps.【应用ID-2】.signKey=dgJwtSignKeyabcdefghijklmnopqrstuvwxyz0123456789 sso.jwt.apps.【应用ID-2】.user-name-mappings[0].source=dgadmin, admin sso.jwt.apps.【应用ID-2】.user-name-mappings[0].target='admin' sso.jwt.apps.【应用ID-2】.user-name-mappings[1].source=* sso.jwt.apps.【应用ID-2】.user-name-mappings[1].target=#USERNAME sso.jwt.apps.【应用ID-2】.role-id-mappings[0].source=*admin*, *manage*, *operat* sso.jwt.apps.【应用ID-2】.role-id-mappings[0].target=ROLE_DATA_ADMIN sso.jwt.apps.【应用ID-2】.role-id-mappings[1].source=* sso.jwt.apps.【应用ID-2】.role-id-mappings[1].target=ROLE_DATA_ANALYST上述【应用ID-1】、【应用ID-2】应替换为实际应用ID,示例:dgjwtapp1、dgjwtapp2。
上述sso.jwt.apps.*.user-name-mappings*配置的是JWT用户至DataGear用户的映射, 其中dgadmin、admin将被映射为DataGear的admin用户登录(管理员), 其他则使用原始的JWT用户登录。如果映射的目标DataGear用户不存在,则会自动创建。
详细配置信息请参考对应配置项的注释说明。
配置完后,需重启程序,配置才会生效。
配置完后,即可通过
/login/jwt?token=【JWT令牌】或者
/login/jwt?token=【JWT令牌】&redirect=【跳转目标地址】链接登录系统。
上述【JWT令牌】应替换为实际的JWT令牌,具体参考下面【JWT令牌规范】和【生成JWT令牌】章节,
【跳转目标地址】应替换为实际的跳转目标地址,比如某个看板展示页面:
/dv/xxxxxxxxx/。
JWT令牌规范
JWT令牌头
| 名称 | 必填 | 描述 |
|---|---|---|
| appId | 否 |
应用ID,即上述配置中的【应用ID-1】或者【应用ID-2】的实际值。
如果未填写,则默认是:default,上述配置中应有sso.jwt.apps.default.*配置项。 |
JWT令牌载荷
| 名称 | 必填 | 描述 |
|---|---|---|
| sub | 是 | 登录用户名 |
| exp | 是 | 令牌过期时间 |
| realname | 否 | 登录用户姓名,应是字符串 |
| roles | 否 | 登录用户角色,应是JSON字符串数组 |
| 否 | 登录用户邮箱,应是字符串 | |
| org | 否 | 登录用户组织机构ID,应是字符串 |
JWT令牌签名
JWT令牌必须是采用JWT规范中的HS256、HS384、HS512其中之一进行签名,
签名密钥需是配置中的sso.jwt.apps.*.signKey值的Base64解码结果字节数组(byte[])。
生成JWT令牌
JWT应用应按照上述【JWT令牌规范】生成JWT令牌,下面是Java语言基于io.jsonwebtoken库的代码示例:
public String jwtToken(String appId, String signKey, String username, long expirationDate, String realName,
Collection<String> roles, String email, String orgId){
Key key = Keys.hmacShaKeyFor(Decoders.BASE64.decode(signKey));
JwtBuilder builder = Jwts.builder();
if (appId != null)
builder.header().add("appId", appId);
builder.subject(username).expiration(new java.util.Date(expirationDate));
if (realName != null)
builder.claim("realname", realName);
if (roles != null)
builder.claim("roles", roles);
if (email != null)
builder.claim("email", email);
if (orgId != null)
builder.claim("org", orgId);
String jws = builder.signWith(key).compact();
return jws;
}
启用LDAP统一登录需配置sso.type、sso.ldap.*配置项。
将:
下面是常用LDAP服务的配置示例:
sso.type=NONE修改为:
sso.type=LDAP然后启用和修改sso.ldap.*配置项。
下面是常用LDAP服务的配置示例:
OpenLDAP
sso.ldap.serverType=GENERIC
sso.ldap.urls=【LDAP服务URL】
sso.ldap.username=cn=admin,dc=dgtest,dc=com
sso.ldap.password=【LDAP密码】
sso.ldap.base=【LDAP基础dc】
sso.ldap.authMode=BIND
sso.ldap.userDnPatterns=uid={0},ou=people
sso.ldap.userSearchFilter=(uid={0})
sso.ldap.userSearchBase=ou=people
sso.ldap.user-real-name-attr=cn
sso.ldap.authorityGroupSearchBase=ou=groups
sso.ldap.authorityGroupSearchFilter=(member={0})
sso.ldap.group-role-attr=cn
sso.ldap.user-name-mappings[0].source=dgadmin, admin
sso.ldap.user-name-mappings[0].target='admin'
sso.ldap.user-name-mappings[1].source=*
sso.ldap.user-name-mappings[1].target=#USERNAME
sso.ldap.role-id-mappings[0].source=*admin*, *manage*, *operat*
sso.ldap.role-id-mappings[0].target=ROLE_DATA_ADMIN
sso.ldap.role-id-mappings[1].source=*
sso.ldap.role-id-mappings[1].target=ROLE_DATA_ANALYST
上述【LDAP服务URL】应替换为实际的LDAP服务URL,示例:ldap://192.168.1.2:389,
【LDAP密码】应替换为实际的LDAP服务登录密码,
【LDAP基础dc】应替换为实际的LDAP基础dc,示例:dc=dgtest,dc=com。
上述sso.ldap.user-name-mappings*配置的是LDAP用户至DataGear用户的映射, 其中dgadmin、admin将被映射为DataGear的admin用户登录(管理员), 其他则使用原始的CAS用户登录。如果映射的目标DataGear用户不存在,则会自动创建。
Active Directory
sso.ldap.serverType=ACTIVE_DIRECTORY
sso.ldap.base=【LDAP基础dc】
sso.ldap.active-directory-domain=【LDAP域名】
sso.ldap.active-directory-url=【LDAP服务URL】
sso.ldap.active-directory-root-dn=【LDAP根dn】
sso.ldap.authMode=BIND
sso.ldap.userDnPatterns=uid={0},ou=people
sso.ldap.userSearchFilter=(uid={0})
sso.ldap.userSearchBase=ou=people
sso.ldap.user-real-name-attr=cn
sso.ldap.authorityGroupSearchBase=ou=groups
sso.ldap.authorityGroupSearchFilter=(member={0})
sso.ldap.group-role-attr=cn
sso.ldap.user-name-mappings[0].source=dgadmin, admin
sso.ldap.user-name-mappings[0].target='admin'
sso.ldap.user-name-mappings[1].source=*
sso.ldap.user-name-mappings[1].target=#USERNAME
sso.ldap.role-id-mappings[0].source=*admin*, *manage*, *operat*
sso.ldap.role-id-mappings[0].target=ROLE_DATA_ADMIN
sso.ldap.role-id-mappings[1].source=*
sso.ldap.role-id-mappings[1].target=ROLE_DATA_ANALYST
上述【LDAP基础dc】应替换为实际的LDAP基础dc,示例:dc=dgtest,dc=com,
【LDAP域名】应替换为实际的LDAP域名,示例:dgtest.com,
【LDAP服务URL】应替换为实际的LDAP服务URL,示例:ldap://192.168.1.2:389,
【LDAP根dn】应替换为实际的LDAP根dn,示例:dc=dgtest,dc=com。
上述sso.ldap.user-name-mappings*配置的是LDAP用户至DataGear用户的映射, 其中dgadmin、admin将被映射为DataGear的admin用户登录(管理员), 其他则使用原始的CAS用户登录。如果映射的目标DataGear用户不存在,则会自动创建。
详细配置信息请参考对应配置项的注释说明。
配置完后,需重启程序,配置才会生效。
启用HTTPS需要SSL证书,SSL证书可以自主生成,也可以由证书机构颁发。
下面是采用自主生成证书(JKS格式)方式的示例:
下面是采用自主生成证书(JKS格式)方式的示例:
1. 生成证书
对于Windows系统,打开命令提示符工具,执行如下命令:
执行完上述命令后,将在当前目录下生成datagear.jks证书文件,将其复制到安全的目录内保存。
"【JDK安装目录】\bin\keytool" -genkeypair -alias datagear -dname "CN=datagear,OU=datagear,O=datagear,L=beijing,ST=beijing,C=CN" -keypass 【key密码】 -storepass 【store密码】 -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore datagear.jks -validity 36500对于Linux系统,打开终端工具,执行如下命令:
sudo 【JDK安装目录】/bin/keytool -genkeypair -alias datagear -dname "CN=datagear,OU=datagear,O=datagear,L=beijing,ST=beijing,C=CN" -keypass 【key密码】 -storepass 【store密码】 -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore datagear.jks -validity 36500上述【JDK安装目录】应替换为实际JDK安装目录, 【key密码】应替换为实际要设置的key密码(不小于6位英文字符), 【store密码】应替换为实际要设置的store密码(不小于6位英文字符)。
执行完上述命令后,将在当前目录下生成datagear.jks证书文件,将其复制到安全的目录内保存。
2. 配置证书
在DataGear的配置文件底部添加如下配置项即可:
server.ssl.key-store=file:【证书文件存储目录】/datagear.jks server.ssl.key-store-password=【store密码】 server.ssl.key-password=【key密码】上述【证书文件存储目录】应替换为实际datagear.jks所在的目录, 【key密码】应替换为实际设置的key密码(不小于6位英文字符), 【store密码】应替换为实际设置的store密码(不小于6位英文字符)。
WAR包安装方式不支持此项配置。
配置完后,需重启程序,配置才会生效。
加密配置项需配置ENCRYPTED_PROPERTIES配置项,具体操作步骤如下所示:
1. 设置加密项值
在加密配置项之前,先启动DataGear应用,以管理员登录,然后点击主页面右上角图标中的【帮助】-【加密配置项】菜单,
获取要加密配置项值的密文(比如:datasource.password、spring.redis.password配置项),然后将密文设置为对应配置项的值。
示例:
datasource.password=919b27a4acb9a563b70c73389803c51d9ba7db2501dce401af948e721f
2. 配置
配置ENCRYPTED_PROPERTIES,将其值设置为加密配置项的名称,示例:
ENCRYPTED_PROPERTIES=datasource.password, spring.redis.password
配置完后,需重启程序,配置才会生效。