我们有以下设置来验证用户。作为 Windows 服务托管在服务器计算机上的 wcf 身份验证服务。客户端是一个基于 C# CAB 的应用程序,它根据需要与身份验证服务和其他服务(审计等)进行通信。 我们想提供使用 Active Directory 登录应用程序的选项。 建议的步骤如下所示。
- 在服务器上运行的身份验证服务
- 用户在客户端打开应用程序 机器并选择通过 AD 登录。
- 应用程序,使用用户名和 验证用户的密码 抗AD。
- 应用程序从 经过身份验证的用户 认证服务,取回 关于sql server和sql的信息 数据库名称。
- 身份验证服务使用针对 Active Directory 的 token 并验证用户是否已登录 并通过身份验证并返回所需的 sql 信息。
如果客户端应用程序不需要将用户名和密码发送到服务器以针对 AD 进行身份验证,是否可以执行第 4 步和第 5 步?我想尽可能避免在网络上发送密码。
最佳答案
您不能只使用 AD 和客户端来做到这一点,您需要在身份验证机制中包含一个服务。如果我是你,我会将用户名和密码发送到身份验证服务,客户端根本不应该直接与 AD 对话。如果您需要一些 SSO,您可以在身份验证服务中创建一个 token 。 AD 不颁发 token ,只有您可以,或者其他更复杂的服务,例如 ADFS。
关于c# - 使用事件目录对用户进行身份验证并获取要在其他地方使用的 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4520590/