在我的asp.net应用程序中,第一次启动应用程序时,如果没有提供数据库连接,它将重定向到单独的页面要求输入数据库详细信息,如果它们提供有效的详细信息,我们必须创建新的数据库,需要在整个应用程序中使用该连接字符串。
这是我的场景,在创建数据库之后,我以编程方式将连接字符串存储在web.config文件中,但是当我尝试重用连接字符串时,它显示空字符串。
我发现web.config文件只给出了我们在编译时提供的值。为了克服这种情况,我使用XML文件来存储连接字符串,该字符串不受保护以存储安全和敏感信息。因为我的应用程序应该能够从前端更改连接字符串。
我的问题是:
和任何其他更好的解决方案表示赞赏。
答案 0 :(得分:0)
1)是否有任何方法可以安全地存储连接字符串,并且如果从应用程序进行更改,则必须动态更改。
为什么不加密连接字符串?连接字符串只是一个字符串,因此您可以将其存储在XML或其他数据库中。您需要将代码读取为连接字符串,而不是web.config
中的连接字符串。 ASP.NET应用程序无需从web.config
读取连接字符串。
2)我可以通过浏览器访问我的XML文件,并可以查看所有连接详细信息,如何限制从URL访问XML文件。
将文件存储在/App_Data
中 - 这是一个受特殊保护的.NET文件夹,不允许通过Web服务器进行访问。即http://www.example.com/App_Data/foo.xml
无法阅读。