我正在开发一个 Java 应用程序,该应用程序具有 Angular 前端和基于 Java 的后端,该后端将连接到 SQL 数据库以进行一般数据存储。此外,我计划包括一个内部加密数据库,用于安全存储用户帐户和密码。该应用程序将部署在 Linux (RHEL)、Windows 和可能的 macOS 系统上。
当应用程序首次安装在用户计算机上时,我需要从系统安全地检索用户帐户列表(具有适当的授权)、密码和权限集(角色/权限),类似于 Plesk 或 cPanel 的管理方式用于在 Web 界面中进行身份验证的系统用户帐户。
我的问题是:
What is the best way to securely retrieve user accounts and their privilege sets during the application's installation process on different OSes (Linux, Windows, macOS)?
How can I ensure these accounts and privileges are securely stored in the internal encrypted database?
Are there any libraries or frameworks that would simplify this process, especially when dealing with multiple operating systems?
任何有关如何解决此问题的指导或建议将不胜感激。预先感谢!
您可以使用带有加密属性的 Java 属性文件作为密码。请查看这个答案作为开始点。
我最初的想法是让 Java 通过操作系统进行身份验证,但这违背了目的。我将在设置过程中将用户设置密码加密存储在某些 SQL 数据库中以进行身份验证。这更有意义,因为 JAVA 通常在完全独立于操作系统的虚拟机中运行。这也可以使其更安全,就像操作系统被破坏一样,除非您拥有加密文件的密码,否则您的数据是安全的。