gpt4 book ai didi

java - 从 Tomcat 启动时读取用户输入

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:04:30 27 4
gpt4 key购买 nike

我有一个 Tomcat 应用程序,在启动时需要多个密码。
我当前的配置使用 Java Properties 对象从 password.conf 文件加载密码。

现在有一项要求,即系统中不允许使用“明文”密码。我曾建议加密密码文件,但这不是一个选项。

如果 Tomcat 的启动脚本可以简单地从命令行读取用户键入的密码并将其提供给我的应用程序,那就太理想了。

由于 Tomcat 是作为守护进程启动的,所以我不认为我可以利用任何 Java 命令行 I/O(如 Scanner)来读取密码。

有没有人有任何巧妙的解决方案?

谢谢公关

最佳答案

这里 有两种解决方案 是我能想到的一种解决方案:

简单 - 在 shell 脚本包装器中设置环境变量并将其作为系统属性读取。即:

echo "What is the password"
stty -echo
read server_password
stty echo
# error check
export server_password

然后在java中:

password = System.getenv("server_password");

更难 - 使用非对称加密对密码进行加密,然后传递密码,然后您需要在 java 代码中对其进行解密。

只是我的即兴想法。

编辑删除了加密密码的想法,因为虽然它可能会阻止某人确定密码,但不会阻止某人使用加密密码启动应用程序。

编辑 2:根据@mpobrien 建议合并 stty -echo

关于java - 从 Tomcat 启动时读取用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1883929/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com