【问题标题】:Synchronizing laravel app password with Active Directory将 laravel 应用密码与 Active Directory 同步
【发布时间】:2019-11-17 22:24:41
【问题描述】:

我们收到了一个请求,要求我们将我们公司为客户生产的 SaaS 应用程序的密码与 Active Directory 同步。

我从来没有接触过广告,所以我什至不知道从哪里开始,或者是否可能。

该应用是 laravel 5.2 + php5.6 并且不在 Azure 上运行。

任何指导将不胜感激。请询问您是否需要更多信息,我什至不知道在这里需要了解什么。

谢谢你们提前给我的任何东西,伙计们。

【问题讨论】:

    标签: windows laravel active-directory


    【解决方案1】:

    无法从 Active Directory 读取任何人的密码,因此您无法“同步”密码。

    但是,您可以只针对 AD 进行身份验证(当有人尝试登录您的应用时,您的应用会将他们的用户名和密码发送给 AD 进行验证)。关于如何做到这一点有一个答案here,但实际上就是这样:

    $ldap = ldap_connect("ldap.example.com");
    if ($bind = ldap_bind($ldap, $_POST['username'], $_POST['password'])) {
      // log them in!
    } else {
      // error message
    }
    

    ldap.example.com 将是 AD 域名。默认为 389 端口,因此必须通过防火墙允许通信。如果他们希望通过 SSL (LDAPS) 对流量进行加密,那么它将通过端口 636,您必须指定:

    $ldap = ldap_connect("ldap.example.com", 636);
    

    而且您需要信任他们的证书。详情请见comments of the documentation for ldap_connect

    【讨论】:

    • 就是这样。额外的问题:$bind 给你什么日期?
    • documentation for ldap_bind 表示它只返回TRUEFALSE,这取决于它是否成功,这就是您可以在if 语句中使用它的原因。所以$bind 只是一个布尔值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多