如何由active directory中的任何用户登录(无需密码)



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

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

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

它工作正常。

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

我确实连接

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

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

 _connection.Bind(username, password);

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

我找不到办法。

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

如果您使用的是基于cookie的身份验证,那么您的模拟就不需要涉及AD。

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

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

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

所以它会变成这样:

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

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

最新更新