2016-08-23 127 views
1

我一直在做这方面的研究,并想知道最好的方法是什么,想象一下你有一个WPF应用程序正在分发给许多用户的场景,这个应用程序有连接到数据库服务器。连接到数据库并不是问题,因为外部用户将有权访问应用程序,因此连接的安全性如何。用于连接数据库服务器的最佳实践#

在app.config文件中连接字符串可以指向服务器,但是释放密码和服务器IP地址不是一个好主意。从研究,其他人建议加密数据,但肯定这仍然有一定程度的漏洞。

下一个方法是使用WCF,这我知识有限,不确定这种方法是否正确。

我是否可以安全地加密连接字符串,或者除此之外,我只是想在处理敏感数据时特别小心。

+0

加密的东西可以解密。这样做可能很困难,但这是可能的。所以这些信息仍然被提供给用户。您可以拥有单独的用户帐户或Windows身份验证域帐户,而不是单个服务帐户。或者你根本无法公开数据库,而是有一个服务器端API应用程序遮蔽了数据库。客户端应用程序将连接到API而不是数据库。 – David

回答

0

一种常见的方式是你的WPF应用程序和数据库之间增加一个服务层。它可以是一个REST API或其他Web服务,只要你喜欢。就技术而言,您可以选择wcf。但是如果你没有处理服务的经验,wcf并不容易。我建议尝试Asp.Net的Web Api项目来快速建立Rest服务(http://www.asp.net/web-api/overview/data/using-web-api-with-entity-framework/part-1)。

此服务器层将保护您的数据库信息(连接字符串等)。另外,允许应用程序直接查询数据库可能会阻止数据库的发展 - 例如,当您在表上添加约束时,插入查询可能会在客户端中断。由于可以同时更新服务器端实施和数据库,因此在两者之间安装服务器可以解决未来的头痛问题。

0

如果数据敏感,我希望SOA架构最适合你。 WCF将是不错的选择,但考虑RestFulWCF或WebApi2.0(多平台支持流行)。

希望这将有助于:)