【问题标题】:Validate Local Windows Account Username and Password in .NET Core 3.1在 .NET Core 3.1 中验证本地 Windows 帐户用户名和密码
【发布时间】:2020-02-12 17:27:08
【问题描述】:

我正在开发一个 .NET Core 3.1 WPF 应用程序。为了使用我们的旧应用程序,它需要验证输入到本地帐户对话框中的凭据。如何才能做到这一点?

似乎所有必要的类还没有包含在 .NET Core 中,因为 System.DirectoryServices 包还没有用于此目的的 AccountManagement.PrincipalContext 类。

澄清

我必须验证任意用户帐户的凭据,该帐户可能是也可能不是执行应用程序的帐户。

【问题讨论】:

  • 应该不需要验证任何东西。 Windows 已经知道当前用户是谁。您是否试图冒充其他用户?即使在 .NET Framework 中,这也只能通过在模拟之前调用 LoginUser 来获取登录令牌来完成
  • 除非您想通过询问密码来仔细检查是否允许操作,例如 Mac OS 的方式?
  • @PanagiotisKanavos - 见说明

标签: wpf windows .net-core user-accounts


【解决方案1】:

我不想告诉你,但简单的答案是你不能。与活动目录的交互。 DNC 3.1 的集成程度是有限制的——你偶然发现了一个。据说 dotnet 5.0 会更好地集成。

目前,您可以为此使用 win32 / 本机语法,也可以使用处理身份验证的服务器端代理。

据我所知,您的要求很简单,并未在所选平台的范围内实现。

任何人请随时纠正我。

更新:这在 .NET 而不是核心中是可行的 - 因此您可以为此在 .NET 中建立一个简单的网站作为服务。因此,从 wpf 方面来看,这变成了“发出 http 请求”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多