1. 概述
1.1 版本
FineDataLink 版本 | 功能变更 |
---|---|
4.0 | - |
1.2 功能简介
FineDataLink 支持 HTTP 认证方式。本文介绍如何在 FineDataLink 中设置 HTTP 认证。
开启 HTTP 认证后,FineDataLink 会把用户输入的用户名和密码加密后再传送到 HTTP 认证服务器,HTTP 认证服务器根据用户自定义的认证逻辑进行认证,并将认证结果返回给 FineDataLink,如下图所示:
注:超级管理员不受 HTTP 认证的影响,依旧使用平台内置认证。
2. 通过 Node 实现认证
2.1 下载认证文件
1)点击下载认证文件:http-authentication.zip
2)将下载后的压缩包解压到本地目录,例如E:\HTTP,如下图所示:
本节给出的认证文件中,HTTP 认证通过的逻辑为:用户名与密码相同,即可成功登录 FineDataLink 。
用户可在 auth.js 的if (content.username === content.password)处,根据实际需求修改该默认认证逻辑。如下图所示:
2.2 启动服务器
打开命令提示符,输入下面命令来启动服务器:
1)需要先安装 npm ,安装过程这里不再详细介绍。
2)进入到http-authentication\node路径下:
注:下面命令进入的是E:\HTTP\http-authentication\node路径,用户根据实际情况进入到解压文件存放的路径即可。
e:
cd E:\HTTP\http-authentication\node
3)安装依赖
npm install
4)生成 publickey 和 privatekey,生成的 key 会输出到 key.txt :
npm run key
5)启动服务器。 前两条命令只需在第一次初始化时需要,以后启动直接 npm start 即可:
npm start
认证地址为:http://0.0.0.0:3000/
2.3 获取公钥
服务器启动成功后,打开 Node 文件夹下的 key.txt,复制公钥,如下图所示:
2.4 开启 HTTP 认证
管理员进入 FineDataLink ,点击「管理系统>用户管理>全局设置」,选择「HTTP认证」,输入认证地址和公钥,点击「保存」。如下图所示:
注:Http 认证选项不需要密码一项,因此在手动添加用户或者同步数据集导入用户时,都没有密码一项。
2.5 效果查看
点击「保存」后,提示登录信息失效,重新登录 FineDataLink 。
在登录页输入 FineDataLink 「用户管理」中已经存在的用户名,并输入密码:
若密码和用户名相同,则登录成功。
若密码和用户名不相同,则登录失败。
3. 通过 Java 实现认证
本节提供的两种 HTTP 认证方法中,认证通过的逻辑均为:用户名与密码相同,即可成功登录 FineDataLink 。
3.1 方法一:通过源码工程运行
3.1.1 下载认证文件
下载并解压文件:http-authentication-java.zip
3.1.2 运行工程
使用 IDEA 或 Eclipse 打开工程,然后运行 WebServerMain,出现服务器已启动,即成功启动服务器,如下图所示:
服务器地址为:http://0.0.0.0:9090/
3.1.3 复制公钥
服务器启动成功后,打开编译目录(target)下的 key.txt,复制 publickey ,如下图所示:
注:如改变 key.txt,则运行 KeyGeneratorMain,打开编译目录(target)下的 key.txt,复制 publicKey 到 FineDataLink 中。
3.1.4 开启 HTTP 认证
管理员进入 FineDataLink ,点击「管理系统>用户管理>全局设置」,选择「HTTP认证」,输入认证地址和 3.1.3 节复制的公钥 publickey ,点击「保存」。如下图所示:
3.1.5 效果查看
点击「保存」后,提示登录信息失效,重新登录 FineDataLink 。
在登录页输入 FineDataLink 「用户管理」中已经存在的用户名,并输入密码:
若密码和用户名相同,则登录成功。
若密码和用户名不相同,则登录失败。
3.2 方法二:命令行运行
3.2.1 下载文件
1)点击下载 JAR 包:http-authentication-java.zip
2)将下载后的 JAR 文件使用 WinRAR 解压到某个文件夹,如下图所示:
注:解压后的文件所在路径不要有中文和空格。
3.2.2 运行文件
命令行进入解压文件所在路径,输入java WebServerMain启动服务器,如下图所示:
服务器地址为:http://0.0.0.0:9090/
注:需确保本地有 Java 环境。
3.2.3 复制公钥
1)服务器启动成功后,打开解压文件路径下的 key.txt,复制 publickey ,如下图所示:
3.2.4 开启 HTTP 认证
管理员进入 FineDataLink ,点击「管理系统>用户管理>全局设置」,选择「HTTP认证」,输入认证地址和 3.2.3 节复制的公钥 publickey ,点击「保存」。如下图所示:
3.2.5 效果查看
点击「保存」后,提示登录信息失效,重新登录 FineDataLink 。
在登录页输入 FineDataLink 「用户管理」中已经存在的用户名,并输入密码:
若密码和用户名相同,则登录成功。
若密码和用户名不相同,则登录失败。