1. 问题描述
在平台内置进行 用户身份验证 的时候,密码存在数据库(FineReport 内置数据库 FineDB 或者其他数据库)中,认证时用户输入的密码与数据库中密码相同则认证通过,若数据库被破解了则对系统造成威胁,怎样保证系统安全呢?
2. 解决方案
在进行 手动添加用户 的时候,使用密码加密功能。数据库中存的是密文,输入的密码需要进行加密才能和数据库中的密文进行匹配,加大破解难度,提高系统安全性。
3. 实现原理
3.1 设置方法
登录平台,点击管理系统>用户管理>设置开启同步数据集的时候,设置加密方式,如下图所示:
3.2 密码加密方式分类
密码加密功能分为:内置 SHA 加密、自定义密码加密。
-
内置 SHA 加密:加密方式已经封装了;
-
自定义密码加密:需要将自定义的密码验证类(包含了加密方法)放在报表服务器如/webapps/webroot/WEB-INF/classes下,勾选自