假设您有一个独立应用程序(在我的情况下是一个Java应用程序),并且该应用程序有一个配置文件(在我的情况下是一个XML文件),您可以在其中存储凭据(用户和密码),用于您需要连接的大量数据库。
一切都很好,但是现在你发现(或者你得到了像我一样的新要求)你必须将这个应用程序放在不同的服务器上,而你在配置文件中不能拥有这些凭据,因为安全性和/或合规性考虑因素。
我正在考虑使用托管在应用服务器(WAS服务器)中的数据源,但我认为这可能性能很差,也许这不是最好的方法,因为我从一个独立的应用程序。
我还在考虑使用某种加密,但我希望尽可能简单。
你会如何处理这个案子?你会把这些凭据放在哪里或保护它们免受损害?或者在这种情况下你将如何连接到数据库?
答案 0 :(得分:1)
我也在考虑使用一些 加密,但我想 让事情尽可能简单。
看看Java Cryptography Architecture - Password Based Encryption。这个概念非常简单,您可以在(反)序列化文件之前使用从用户密码派生的密钥加密/解密XML流。
我只是在考虑您的安全/合规性考虑因素,但绝对需要考虑的一些事项:
虽然这可能有些过分,但我强烈建议您看看Bruce Schneier的Applied Cryptography。它提供了对加密领域的深刻了解。
答案 1 :(得分:1)
如果您的独立应用程序在大型企业或企业中运行,则可能是他们使用Lightweight Directory Access Protocol或LDAP作为其密码。
您可能需要考虑使用LDAP,或在应用程序中为公司LDAP提供挂钩。
答案 2 :(得分:0)
我正在考虑使用托管在应用服务器(WAS服务器)中的数据源,但我认为这可能性能很差,也许这不是最好的方法,因为我从独立应用程序连接。
相反,这些数据源通常是连接池数据源,它应该只是增强数据库连接性能,因为连接是每个saldo最昂贵的任务。
您是否对其进行了测试/基准测试?