浏览以多种 .NET 框架语言(ASP.NET、VB、C#)编写的遗留应用程序,我总是在他们的 app.config 或 web.config 连接字符串中找到各种 SQL 的硬编码和工作用户名和密码服务器和 IBM 数据库。这个网站上有很多关于保护这些信息的问题,但是当应用程序还要求身份验证时,将这些信息存储在配置文件中的原因是什么?每次我构建和运行时,这些用户是否出现在数据库审计日志中?
这些遗留应用程序很可能依赖 ADO.NET 进行数据库连接。默认的 ConnectionString 属性包括服务器名称、数据库名称、用户名和密码。更安全的版本是使用 Windows 身份验证连接到数据库实例,它将使用“集成安全”标签而不是用户名和密码。
当应用程序还要求身份验证时,为什么将这些信息存储在配置文件中?
这个不清楚。你的意思是:
或
每次我构建和运行它时,这些用户是否出现在数据库审计日志中?
默认情况下不会,除非您在数据库服务器中设置DDL/DML/登录触发器专门跟踪数据库连接。