c# - 使用事件目录对用户进行身份验证并获取要在其他地方使用的 token

标签 c# .net security active-directory

我们有以下设置来验证用户。作为 Windows 服务托管在服务器计算机上的 wcf 身份验证服务。客户端是一个基于 C# CAB 的应用程序,它根据需要与身份验证服务和其他服务(审计等)进行通信。 我们想提供使用 Active Directory 登录应用程序的选项。 建议的步骤如下所示。

  1. 在服务器上运行的身份验证服务
  2. 用户在客户端打开应用程序 机器并选择通过 AD 登录。
  3. 应用程序,使用用户名和 验证用户的密码 抗AD。
  4. 应用程序从 经过身份验证的用户 认证服务,取回 关于sql server和sql的信息 数据库名称。
  5. 身份验证服务使用针对 Active Directory 的 token 并验证用户是否已登录 并通过身份验证并返回所需的 sql 信息。

如果客户端应用程序不需要将用户名和密码发送到服务器以针对 AD 进行身份验证,是否可以执行第 4 步和第 5 步?我想尽可能避免在网络上发送密码。

最佳答案

您不能只使用 AD 和客户端来做到这一点,您需要在身份验证机制中包含一个服务。如果我是你,我会将用户名和密码发送到身份验证服务,客户端根本不应该直接与 AD 对话。如果您需要一些 SSO,您可以在身份验证服务中创建一个 token 。 AD 不颁发 token ,只有您可以,或者其他更复杂的服务,例如 ADFS。

关于c# - 使用事件目录对用户进行身份验证并获取要在其他地方使用的 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4520590/

相关文章:

c# - 是否可以从组件继承 Razor 标记?

c# - 可选参数必须出现在 c# 中所有必需参数之后

c# - 如何删除 WPF 4.5 Datagrid 中的几个不需要的列?

php - $_SERVER ["REQUEST_URI"] 安全吗?

c# - 告诉编译器通用类型存在隐式转换

c# - 构造函数允许覆盖 C# 类的一些变量

.net - DocFx:如何在网站上创建目录导航?

.net - C# : What would you name an IEnumerable class?

php - 为什么要使用 mysql_real_escape_string,addslashes 不会阻止一切吗?

php - Symfony2 中的私有(private)图像