什么是最好的,例如以最安全的方式使用独立桌面应用程序访问在线数据库?有人告诉我,出于安全原因,建议您使用本地数据库。但我希望 Web 应用程序和桌面应用程序共享同一个在线数据库,这样我就可以更新它而无需更新桌面应用程序。
我正在使用 .net 4 框架和 c#。
什么是最好的,例如以最安全的方式使用独立桌面应用程序访问在线数据库?有人告诉我,出于安全原因,建议您使用本地数据库。但我希望 Web 应用程序和桌面应用程序共享同一个在线数据库,这样我就可以更新它而无需更新桌面应用程序。
我正在使用 .net 4 框架和 c#。
需求决定了实现,而且通常,需求会排除什么是“最好的”。最好是一种理想。有时你只需要完成工作,大约 75% 的时间“相当好”胜过“最好”。如果您必须让多个应用程序访问相同的数据,那么您已经排除了本地数据库。除非您愿意使用复制设置,否则这不是一个选择,一般来说,这实际上还不错(http://msdn.microsoft.com/en-us/library/ms151198.aspx)。
如果您要在网络上使用完整的 SQL Server 实例,那么您的安全选项将视情况而定。内联网还是互联网?每个人都在使用 Windows 或 Linux/Unix 或 Mac 的风格吗?如果它在公司内部并且他们都使用 Windows,则使用 Windows 集成。您可以将其与桌面和 Web 应用程序一起使用。它非常强大,您不必滚动自己的安全代码。如果人们来自世界各地,您可能需要编码和访问表并加密密码。不要以纯文本形式存储它们。如果它通过 Internet,并且世界上的任何人都可以使用面向外部的 Web 应用程序访问它,那么 Microsoft 也可以为您提供选择。先保护应用程序,然后保护数据库。解析这个有用的选项:http: //msdn.microsoft.com/en-us/magazine/cc301387。
目前还不清楚您为什么要这样做,但 SQL Server 确实支持 SSL 进行加密连接。有关详细信息,请参阅加密与 SQL Server 的连接。