【问题标题】:Laravel 4.1 w/ ccovey/ldap-authLaravel 4.1 w/ccovey/ldap-auth
【发布时间】:2014-06-26 20:40:29
【问题描述】:

我已经按照https://github.com/ccovey/ldap-auth 上的所有安装说明尝试使用 Laravel 4.1 进行 LDAP 身份验证。

adldap.php

return array(
    'account_suffix' => "@xxxxxxx.xxx.xxx",
    'domain_controllers' => array("dc01.xxxxxxx.xxx.xxx"), 
    'base_dn' => 'DC=xxxxxxxx,DC=xxx,DC=xxx',
);

现在,如果我保留上面的 adldap.php 文件并运行以下 route.php 文件

Route::get('/', function()
{
 $credentials = array(
  'username' => 'username',
  'password' => 'password'
 );

 if($a = Auth::attempt($credentials))
 {
    return '<pre>' . print_r(Auth::user(), true);
 }
 else
 {
    dd($a);
 }
});

我得到以下输出

bool(false)

这似乎没有意义,因为我使用了正确的用户名/密码。在从 MSSQL 运行 ADSI 时,我也在域和 DC 方面使用相同的配置,所以我知道它可以工作。

现在,如果我更改 adldap.php 文件以包含 admin_username, admin_password 我在 laravel.log 中收到以下错误

'Bind to Active Directory failed. Either the LDAPs connection failed or the login credentials are incorrect. AD said: Can't contact LDAP server'

有什么建议吗?提前致谢。

【问题讨论】:

    标签: php laravel ldap


    【解决方案1】:

    您需要设置admin_usernameadmin_password,还需要确保您的 SSL/TSL 设置正确,它会尝试自动猜测您的目标 AD 的设置。除此之外,您的base_dn 可能有一些错误。您可以使用 LDAP 客户端轻松检查这些设置(例如Softerra's LDAP browser),从而省去很多麻烦。

    【讨论】:

      【解决方案2】:

      万一有人发现这篇文章。我必须创建 OpenLDAP 目录并从 Active Directory 创建证书。

      【讨论】:

        猜你喜欢
        • 2014-04-16
        • 1970-01-01
        • 2015-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-17
        • 2014-04-30
        相关资源
        最近更新 更多