无法使用LDAP软件包Adldap2-Laravel登录Laravel



我正在使用Adldap2-Laravel软件包进行身份验证。我正在使用 LDAP 测试论坛进行测试。我按照本教程 https://jotaelesalinas.github.io/laravel-simple-ldap-auth/但我无法登录。我没有收到任何错误。在下面的代码中,总是执行其他块。

我想我在配置上犯了错误请帮助我

谢谢

登录控制器

protected function attemptLogin(Request $request)
{
$credentials = $request->only($this->username(), 'password');
$username = $credentials[$this->username()];
$password = $credentials['password'];
$user_format = env('LDAP_USER_FORMAT', 'cn=%s,'.env('LDAP_BASE_DN', ''));
$userdn = sprintf($user_format, $username);

if(Adldap::auth()->attempt($userdn, $password, $bindAsUser = true)) {
dd('working'); 
}
else
{
dd('not working');
}  
}

环境文件

LDAP_SCHEMA=OpenLDAP
LDAP_HOSTS=ldap.forumsys.com
LDAP_BASE_DN=dc=example,dc=com
LDAP_USER_ATTRIBUTE=uid
LDAP_USER_FORMAT=uid=%s,dc=example,dc=com
LDAP_CONNECTION=default
# Change from mysql to sqlite:
DB_CONNECTION=sqlite  

哎呀.php

return [
'logging' => env('LDAP_LOGGING', false),
'connections' => [
'default' => [
'auto_connect' => env('LDAP_AUTO_CONNECT', false),
'connection' => AdldapConnectionsLdap::class,
'settings' => [
'schema' => env('LDAP_SCHEMA', '') == 'OpenLDAP' ?
AdldapSchemasOpenLDAP::class :
( env('LDAP_SCHEMA', '') == 'FreeIPA' ?
AdldapSchemasFreeIPA::class :
AdldapSchemasActiveDirectory::class ),
'account_prefix' => env('LDAP_ACCOUNT_PREFIX', ''),
'account_suffix' => env('LDAP_ACCOUNT_SUFFIX', ''),
'hosts' => explode(' ', env('LDAP_HOSTS', 'corp-dc1.corp.acme.org corp-dc2.corp.acme.org')),
'port' => env('LDAP_PORT', 389),
'timeout' => env('LDAP_TIMEOUT', 5),
'base_dn' => env('LDAP_BASE_DN', 'dc=corp,dc=acme,dc=org'),
'username' => env('LDAP_ADMIN_USERNAME', ''),
'password' => env('LDAP_ADMIN_PASSWORD', ''),
'follow_referrals' => env('LDAP_FOLLOW_REFERRALS', false),
'use_ssl' => env('LDAP_USE_SSL', false),
'use_tls' => env('LDAP_USE_TLS', false),
],
],
],
];

ldap_auth.php

'identifiers' => [
'ldap' => [
'locate_users_by' => env('LDAP_USER_ATTRIBUTE', 'userprincipalname'),
'bind_users_by' => env('LDAP_USER_ATTRIBUTE', 'distinguishedname'),
],
'database' => [
'guid_column' => 'objectguid',
'username_column' => 'username',
],
],
'passwords' => [

'sync' => env('LDAP_PASSWORD_SYNC', false),
'column' => 'password',
],

'login_fallback' => env('LDAP_LOGIN_FALLBACK', false),

'sync_attributes' => [
// 'field_in_local_db' => 'attribute_in_ldap_server',
'username' => 'uid',
'name' => 'cn',
'phone' => 'telephonenumber',
],

最后,我已经完成了 laravel 应用程序中的 LDAP 连接。如果有人在连接LDAP时遇到困难,请使用此软件包 https://ldaprecord.com/docs/laravel/。关于在 laravel 中集成 LDAP 的非常清晰的解释。

最新更新