如何由活动目录中的任何用户登录(无密码)

时间:2018-11-14 12:21:58

标签: c# asp.net-core active-directory ldap

我的主要目标是为管理员创建任何用户的后门登录。

我使用核心API和Active Directory身份验证,并使用LDAP。

services.AddLdap(Configuration);
app.UseLdapAuthentication(Configuration);

它正常工作。

现在,我需要为任何用户添加admin登录功能。当然,管理员不知道密码。

我确实连接

_connection.Connect(_config.Url, LdapConnection.DEFAULT_PORT);

在我必须知道密码的地方绑定。

 _connection.Bind(username, password);

我使用基于cookie的身份验证。

我找不到办法。

1 个答案:

答案 0 :(得分:2)

  

我使用基于cookie的身份验证。

如果您使用的是基于Cookie的身份验证,则无需在模拟过程中涉及AD。

我认为这是您的身份验证正常工作的方式:

  1. 用户输入用户名和密码。
  2. 您的应用程序通过LDAP验证凭据。
  3. 您的应用程序为用户发布Cookie。

如果要允许管理员模拟应用程序中的其他任何人,请创建一个页面,管理员可以在其中查看所有用户帐户并选择要模拟的帐户。然后,应用程序只为该用户帐户发出Cookie。

所以它会变成这样:

  1. 管理员用户输入自己的用户名和密码。
  2. 您的应用程序通过LDAP验证凭据,并验证用户是管理员。
  3. 您的应用程序为用户自己的帐户发布cookie。
  4. 管理员用户转到“用户”页面,然后选择要模拟的帐户。
  5. 您的应用程序为所选用户发布新的cookie。

我在其中一个应用程序中做了这件事。