我在这里看到了类似的问题,但没有一个真正解决了我的情况,这是设置:
我有一个带有表单身份验证 (SqlMembershipProvider) 的 ASP.NET 应用程序,用户可以在其中提交审计结果。
我想创建一个轻量级桌面应用程序(我们称之为MyApp)(使用 Offline),以便用户可以在没有 Internet 连接时提交审计结果。
以下是必备品:
- 针对我的 SqlMembershipProvider 对用户进行身份验证(匿名用户无法提交审核结果)
- 只向用户询问一次凭据(当她/他打开MyApp时)(我将能够保存身份验证令牌,但在某些情况下MyApp将安装在多个用户使用的笔记本电脑上,因此我会每次打开MyApp时都必须强制用户登录)
- 不要以纯文本形式存储密码(如果打开MyApp时用户处于脱机状态,我想保存凭据以在连接可用时对用户进行身份验证) - 不确定这是否可能
一旦我弄清楚了上面的三件事——剩下的就很容易了。
如果上述情况令人困惑,这是一个简单的场景:
- MyApp安装在办公室笔记本电脑上,人们旅行时随身携带
- 2 用户前往偏远地区(无互联网),并进行 2 次单独审核
- 用户 1 打开 MyApp,提供他的用户/通行证(参见 MUST-HAVES 中的 #2),提交 3 个结果(我将保存结果和用户凭据以验证用户并在连接可用时提交结果) - 参见 #必备品中的 1 和 #3
- 用户 2 打开 MyApp,并执行与用户 1 在步骤 3 中相同的例程。
- 2 天后,他们回到办公室,互联网可用,步骤 3 和 4 的结果代表各自的用户提交到我的网络应用程序
我已经研究过 Microsoft Sync 框架,但这对于我正在做的事情来说似乎有点过头了(而且我不确定它是否也能适应我的必备品)。
我对任何替代方法持开放态度,只要它们能满足我的必备条件。
谢谢您的帮助。