繁体   English   中英

.net Winforms应用程序的安全连接

[英]Secure connection of .net winforms application

我正在开发.net Winforms应用程序,并且需要保护与sql server 2008数据库的连接。 我计划将Web服务创建为中间层,以处理身份验证并提供数据处理。 有更好的方法吗? .net是否具有用于该目的的组件或工具? 最好的技术是什么? 任何信息将不胜感激,谢谢。

定义“安全”。 显然,您希望将访问数据限制为确实需要该数据的用户。 但是,需要有关该体系结构的更多信息。 这是一个内部应用程序,只能在(安全的)LAN,VPN或托管环境中使用吗? 还是这是您无法控制的计算机上使用的应用程序,它将通过Internet传输数据? 您需要多少安全性取决于将使用哪种类型的用户,从何处使用数据以及数据的敏感程度。

MSS内置了相当不错的安全性。 您可以将SQL用户绑定到Windows域帐户,可以根据用户或角色等以多种方式限制“安全性”(表,视图,SP等)。我将首先研究这些功能,并认真考虑利用在您的安全计划中。 定义为供特定软件的任何用户使用的一个SQL用户,该用户具有执行该软件可能需要执行的任何操作的权限,该用户是简单,通用且高度不安全的。

如果这还不够好,或者您想完全抽象化数据层(例如,如果您需要该软件能够指向从MSS到Oracle到MySql的任何数据库类型),那么对使用服务代理实现存储库模型。 像Brian一样,我鼓励您看看WCF。 WCF服务是高度可配置的,并且可以提供独立的身份验证和加密。 精心设计的WCF服务确实非常安全。

在服务后面,您可以实现存储库模式,该模式抽象了如何从数据存储中检索数据的详细信息,并公开了简单的方法,这些方法以现成的形式返回包含所需数据的对象。 现在,您的服务方法将只将1:1映射到Repository方法,并且可能需要转换为DataContract可序列化的对象,而不是在服务的任何一侧都可以使用更丰富的域模型。

您是否考虑过使用WCF构建服务层? WCF可以从实际的物理数据库中引入全新的抽象层和安全性。

WCF还允许您使用内置日志记录来使用比传统Web服务所允许的更安全的绑定。

另外,如果您想在.NET Security上获得不错的阅读,请随时阅读本书:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM