如何在我的Windows应用商店客户端脱机时使用缓存的活动目录

时间:2014-09-30 07:19:00

标签: c# active-directory windows-runtime windows-store-apps offline

我正在为企业开发Windows应用商店应用。 客户端应用程序连接到服务器,如果它具有正确的凭据并且属于正确的域,则只能登录到服务器。

但是当客户端应用程序没有连接可用于连接到服务器时,用户必须使用Active Directory提供的缓存用户凭据,以便用户可以脱机工作。问题是Windows应用商店应用使用Azure Active Directory,因此我必须连接到互联网。

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

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

1 个答案:

答案 0 :(得分:4)

实际上你想要实现的目标存在冲突:

  • 您使用活动目录能够针对中央用户存储库验证某人(这比任何本地用户凭据表示更难被黑客攻击)
  • 您不想使用中央活动目录,因为它会花费您的互联网连接

其他人也会这样做:

  • 无需身份验证即可完成的任何操作都可以在没有身份验证的客户端上进行(例如,创建某个项目的草稿版本,准备更改提议)
  • 任何需要以经过身份验证的方式完成的操作都需要通过真实的互联网连接进行真正的身份验证(检查草稿才能生效,应用更改)

通常情况下,此类软件项目的复杂程度仅为身份验证或无身份验证项目的2-10倍。祝你好运。