对于Sync Framework客户端应用程序(数据库同步),哪种身份验证方法是正确的?

问题描述:

用户将在现场收集有关互联网连接不畅的地区的Windows客户端应用程序的数据。任何网络连接在一段时间甚至几周。幸运者将把笔记本电脑带回区域办公室,以同步他们登录公司网络时收集的数据。其他人将不得不求助于插入客户/客户互联网连接和/或互联网咖啡连接来执行数据同步。对于Sync Framework客户端应用程序(数据库同步),哪种身份验证方法是正确的?

应用程序将数据存储在本地sql server 2008 R2 express数据库中,客户端将在连接可用时启动数据库同步到HQ中的SQL Server 2008标准。

用户身份验证和基于角色的安全性是应用程序的要求。我应该使用哪种方法:表单身份验证或Windows身份验证? (我认为我遇到了第三种称为自定义身份验证?)

对不起,我真的失去了身份验证的东西 - 第一次做它,并不确定每种类型的利弊&缺点。任何人都可以建议我应该用于这种情况?

更新:我实际上已经在使用连接字符串中的SQL Server的外部IP地址和用户登录的SQL身份验证工作。这是一种被接受的做法,还是我违反了任何安全原则?

我仍然必须找到基于角色的安全片 - 基于角色的安全工作与SQL身份验证?

此外,新的皱纹:一些远程用户从总部向他们发布笔记本电脑后,可能永远不会再次登录到组织的域名,以便他们与域名的登录信任关系在几个月后过期。因此,我猜Windows身份验证不可行反正...

你将如何连接到总部数据库服务器?

伊莫最安全的解决方案将是在WCF(样品与SqlCompact到SQL Server在WCF与N层here)同步。然后,您可以根据您在WCF中实现的安全类型(传输和/或消息)来实现所需的任何认证方案。有关更多信息,请参阅thisthis

+0

可能会帮助[链接](https://softarchitect.wordpress.com/2010/10/03/software-architecture-sync-data-between-offline-disconnected-databases-sync-framework/) – Eldho