历史版本22 :HTTP 认证 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
10.0

1.2 应用场景

用户不想使用平台内置认证,想要自定义认证。例如用户集成单张模板到自己的系统,想要自己控制认证。

1.3 功能简介

HTTP 认证开启后,平台会把输入的用户名密码加密后传送到 HTTP 认证服务器,HTTP 认证服务器根据自定义逻辑认证完成后,将认证结果返回给平台。

注:超级管理员不受 HTTP 认证的影响,依旧使用平台内置认证。

222

2. 通过 Node 实现认证编辑

2.1 下载认证文件

1)点击下载:http-authentication.zip

2)将下载后的压缩包解压,保存到本地目录,例如E:\HTTP。如下图所示:

3.png

http-authentication\node\auth.js文件中,可看到 HTTP 认证方式,如下图所示:

4.png

本章认证通过的逻辑为:用户名与密码相同,才可以正常登录平台系统。

用户可在 auth.js 的if (content.username === content.password)处,根据实际需求修改该默认认证逻辑。

2.2 启动服务器

打开命令提示符,输入下面命令来启动服务器:

1)进入到http-authentication\node路径下:

注:下面命令进入的是E:\HTTP\http-authentication\node路径,用户根据实际情况进入到解压文件存放的路径即可。

e:
cd E:\HTTP\http-authentication\node

2)安装依赖

npm install

3)生成 publickey 和 privatekey,生成的 key 会输出到 key.txt :

npm run key

4)启动服务器。 前两条命令只需在第一次初始化时需要,以后启动直接 npm start 即可:

npm start

1601256530740460.png

认证地址为:http://0.0.0.0:3000/

2.3 获取公钥

服务器启动成功后,打开 Node 文件夹下的 key.txt,复制公钥,如下图所示:

1597029969779549.png

2.4 决策平台开启 HTTP 认证

管理员进入数据决策系统,点击「管理系统>用户管理>全局设置」,选择「HTTP认证」,输入认证地址和公钥,点击「保存」。如下图所示:

8.png

注:Http 认证选项也不需要密码一项,因此在手动添加用户或者同步数据集导入用户时,都没有密码一项。

2.5 效果查看

点击「保存」后,提示登录信息失效,重新登录平台。

在登录页输入平台「用户管理」中已经存在的用户名,密码和用户名相同,登录成功;当密码和用户名不相同时,登录失败。

3. 通过 Java 实现认证编辑

本章两种方法认证通过的逻辑为:用户名与密码相同,才可以正常登录平台系统。

3.1 方法一:通过源码工程运行

3.1.1 下载认证文件

下载并解压文件:http-authentication-java.zip

3.1.2 运行工程

使用 IDEA 或 Eclipse 打开 pom.xml 文件,即打开工程,然后运行 WebServerMain,如下图所示:

33.png

3.1.3 复制公钥

服务器启动成功后,打开编译目录(target)下的 key.txt,复制 publickey 到决策平台中,服务器地址为:http://0.0.0.0:9090/,如下图所示:

注:如改变 key.txt,则运行 KeyGeneratorMain,再将编译目录(target)下的 key.txt,复制 publicKey 到决策平台中。

34.png

3.1.4 效果查看

点击「保存」后,提示登录信息失效,重新登录平台。

在登录页输入平台「用户管理」中已经存在的用户名,密码和用户名相同,登录成功;当密码和用户名不相同时,登录失败。

3.2 方法二:命令行运行

3.2.1 下载文件

1)点击下载 JAR 包:http-authentication-java.jar

2)将下载后的 JAR 文件使用 WinRAR 解压到某个文件夹,如下图所示:

注:解压后的文件所在路径不要有中文和空格。

35.png

3.2.2 运行文件

命令行进入解压文件所在路径,输入java WebServerMain启动服务器,如下图所示:

注:确保本地有 Java 环境。

36.png

3.2.3 复制公钥

1)服务器启动成功后,打开 key.txt,复制 publickey ,如下图所示:

1600826506450973.png

2)将复制的 publickey 粘贴到平台,服务器地址为:http://0.0.0.0:9090/,如下图所示:

38.png

3.2.4 效果查看

点击「保存」后,提示登录信息失效,重新登录平台。

在登录页输入平台「用户管理」中已经存在的用户名,密码和用户名相同,登录成功;当密码和用户名不相同时,登录失败。