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

MJ3*_*J33 5 c# offline active-directory windows-runtime windows-store-apps

我正在为一家企业开发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();
Run Code Online (Sandbox Code Playgroud)

Qui*_*ker 4

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

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

其他人执行以下操作:

  • 任何可以在没有身份验证的情况下完成的事情都可以在没有身份验证的情况下在客户端上进行(例如,创建某事物的草稿版本,准备变更提案)
  • 任何需要以身份验证的方式完成的事情都需要通过真实的互联网连接进行真正的身份验证(签入草稿以激活,应用更改)

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