我需要从其他计算机(AD域中的服务器)验证Windows用户(AD域中的客户端) . 安装程序如下所示:

Diagram of infrastructure

  • Client App 是客户使用的产品 . 它可以选择使用 MS SQL Database 中的帐户通过自定义身份验证方法登录 . 用户还可以选择使用 Active Directory 域中的Windows帐户自动登录 .

  • Server App 用于针对产品帐户( MS SQL Database )和域帐户验证 Client App .

  • Active Directory server 为Windows计算机创建域,并包含用户组,其中包含 Server App 允许对其进行身份验证的所有帐户(如果它们也链接到 MS SQL database 中的产品帐户) .

  • MS SQL Database 包含自定义产品帐户 . 每个帐户也可以通过用户名链接到 AD domain 帐户 .

Diagram of my idea of how this Active Directory authentication could work

我的问题是:

  • 如何在C#中从客户端到服务器获取并传递有关已登录Windows帐户的信息?此信息应足以完全检查用户可信度 . 我无法向客户端用户询问Windows域帐户密码或产品帐户密码 .

  • 这是实现这种认证的正确方法还是我应该研究别的东西?如果别的什么,那又怎样?