如何在我的Windows应用商店客户端脱机时使用缓存的active directory

本文关键字:缓存 directory active 脱机 客户端 我的 Windows 应用 | 更新日期: 2023-09-27 18:24:59

我正在为一家企业开发一款Windows应用商店应用程序。客户端应用程序连接到服务器,并且只有在具有正确凭据并且属于正确域的情况下才能登录到服务器。

但是,当客户端应用程序无法连接到服务器时,用户必须使用Active Directory提供的缓存用户凭据,以便用户可以脱机工作。问题是Windows应用商店应用程序使用Azure Active Directory,所以我必须连接到internet。

我希望能够使用位于普通桌面Windows应用程序的System.DirectoryServices命名空间中的DirectoryEntry和DirectorySearcher类,几乎以以下方式搜索用户并验证凭据:

DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://" + domain, username, password, AuthenticationTypes.Secure);
DirectorySearcher directorySearcher = new DirectorySearcher(directoryEntry);
directorySearcher.FindOne();

如何在我的Windows应用商店客户端脱机时使用缓存的active directory

实际上,在您试图实现的目标中存在冲突:

  • 使用活动目录可以根据中央用户存储库对某人进行身份验证(这比任何本地用户凭据表示都更难被黑客入侵)
  • 您不想使用中央active directory,因为它会占用您的internet连接

其他人做以下事情:

  • 任何可以在没有身份验证的情况下进行的操作都可以在没有认证的客户端上进行(例如,创建某个内容的草案版本,准备更改建议)
  • 任何需要以经过身份验证的方式进行的操作都需要通过真正的互联网连接进行真正的身份验证(签入草稿以激活,应用更改)

通常情况下,这种软件项目的复杂程度是只进行身份验证或不进行身份验证项目的2-10倍。祝你好运