[英]for securing a database that is meant to be accessed by several clients, is using a web service as a proxy an overkill?
我们将拥有一个数据库,以及一个客户端应用程序,该客户端应用程序将被安装在局域网中的多台计算机上,并且它们必须能够访问数据库。
它们中的一些必须能够编辑和修改数据库,而另一些将仅读取它们。 根据谁必须能够访问哪个表/字段,这两个组中的每一个也分为几个组。
为了创建此应用程序,我们建议您部署一个Web服务以充当客户端和数据库之间的代理,以保护数据库。
但是我们不会传输任何敏感数据(例如信用卡号或...),我们只担心未经授权的人不能修改数据库。
仅仅使用app.config中的integrated security
选项还不够吗?
我们真的需要隐藏并保护连接字符串吗?
听起来对我来说太过分了。 如果仅在内部使用该应用程序,并且可以选择Windows身份验证,则一定要使用它。 构建Web服务只会减慢开发速度并增加不必要的复杂性。 读/写用户可以是对数据库具有读/写访问权限的Windows组的成员,而只读用户可以是仅对数据库具有读访问权限的Windows组的成员。 然后,如果用户能够直接访问数据库(而无需使用您的前端),则他们只能基于Windows权限进行读取或读取/写入。
这可能是矫kill过正,但事实并非如此。 决定采用面向服务的体系结构可能基于几个因素,其中包括:
总而言之,如果您希望能够更改中间层或数据库中的内容,并且不想在升级时升级每个客户端,则添加服务层可能是实现升级的一种方法。走。 您还具有为其他客户端开发人员(内部或外部)提供丰富的API的优势,同时可以在一个集中的位置控制业务规则和安全性。
SOA无疑增加了项目的复杂性,但是在许多情况下,它可以节省您将来的许多麻烦。
如需进一步阅读,看http://en.wikipedia.org/wiki/Service-oriented_architecture , http://www.soapatterns.org/ ,或谷歌。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.