当前位置:  开发笔记 > 运维 > 正文

在Web应用程序中存储数据库凭据的位置?

如何解决《在Web应用程序中存储数据库凭据的位置?》经验,为你挑选了2个好方法。

我想知道您使用什么技术来存储应用程序的数据库凭据.我特别关注java webapps,但我认为没有必要将问题限制在那里.

需要考虑的事项:
你使用属性文件,xml配置,其他?
它是捆绑到您的应用程序中(即在jar文件中)还是单独存储在某个文件系统中?
密码是加密的吗?如果是这样,你使用什么加密方案?



1> Dillie-O..:

由于您将问题留给平台,我将添加.NET应用程序的数据库凭据存储在web.config文件中.从版本2.0及更高版本开始,有一个特定的ConnectionStrings部分,允许更容易地编程访问连接字符串.

除了默认情况下让IIS自动阻止对web.config文件的直接请求外,您还可以使用IIS命令加密web.config文件的ConnectionString部分.此加密是特定于机器的,增加了它的优势,并且.NET运行时还会在您访问时动态解密连接字符串,因此您的应用程序中无需使用其他编码即可使用它.



2> Olaf Kock..:

使用Java,数据库连接池应该由容器传递到webapps.这是在WEB-INF/web.xml中作为资源声明的标准.这同样适用于邮件会话和其他外部资源,这些资源可能因安装而异.查找JNDI以获取更多信息)

这个很好的部分是应用程序不关心如何实际连接到外面的任何东西.它不会看到任何密码,因为容器本身将使用它们.

在tomcat中,这可以从conf/Catalina/localhost /,conf/server.xml中的上下文文件(例如)或者 - 优选仅用于dev环境,从webapps META-INF/context.xml配置.其他环境有自己的配置位置或应用程序.

密码加密实际上取决于容器.Tomcat以纯文本形式存储它们,但应用程序本身不会看到它.我不了解其他环境中的机制.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有