无效凭据 adldap2 /adldap2-laravel 包



我正在拉拉维尔应用程序中实现LDAP身份验证。当我运行此代码时,我收到错误。

我不知道它是否正确。我对LDAP完全陌生,通过查看我到目前为止所做的文档,我不知道它是如何工作的。
请帮助我为拉拉维尔-ldap设置正确的配置设置。

Adldap  Auth  BindException (49)
Invalid credentials
protected function attemptLogin(Request $request)
{
$ldap = new Adldap;
$data = Adldap::users()->get();
dd($data);
}

我从客户那里得到的凭据

User Name: username
Password: password
IP:172.16.xx.xx
Port: 389
Attributes: CN=user.admin,CN=Users,DC=UATADSRV,DC=COM

我的 .env 文件

LDAP_HOSTS=172.16.xx.xx
LDAP_BASE_DN=CN=user.admin,CN=Users,DC=UATADSRV,DC=COM
LDAP_USER_ATTRIBUTE=samaccountname
LDAP_CONNECTION=default
LDAP_USERNAME=username
LDAP_PASSWORD=password

哎呀.php

return [
'logging' => env('LDAP_LOGGING', false),
'connections' => [
'default' => [
'auto_connect' => env('LDAP_AUTO_CONNECT', true),
'connection' => AdldapConnectionsLdap::class,
'settings' => [
'schema' => 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_USERNAME'),
'password' => env('LDAP_PASSWORD'),
'follow_referrals' => false,

'use_ssl' => env('LDAP_USE_SSL', false),
'use_tls' => env('LDAP_USE_TLS', false),
],
],
],
];

ldap_auth.php

return [
'connection' => env('LDAP_CONNECTION', 'default'),
'provider' => AdldapLaravelAuthDatabaseUserProvider::class,
'model' => AppUser::class,
'rules' => [

AdldapLaravelValidationRulesDenyTrashed::class,
],

'scopes' => [

],
'identifiers' => [
'rules' => [

AdldapLaravelValidationRulesDenyTrashed::class,
],

'scopes' => [

],
'identifiers' => [
'ldap' => [
//   'locate_users_by' => 'userprincipalname',
'locate_users_by' => 'samaccountname',
'bind_users_by' => 'distinguishedname',
],
'database' => [
'guid_column' => 'objectguid',
'username_column' => 'username',
],
'windows' => [
'locate_users_by' => 'samaccountname',
'server_key' => 'AUTH_USER',
],
],
'passwords' => [

'sync' => env('LDAP_PASSWORD_SYNC', false),

'column' => 'password',
],

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

'sync_attributes' => [
'email' => 'userprincipalname',
'username' => 'samaccountname',
'name' => 'cn',
],
'logging' => [
'enabled' => env('LDAP_LOGGING', true),
'events' => [
AdldapLaravelEventsImporting::class                 => AdldapLaravelListenersLogImport::class,
AdldapLaravelEventsSynchronized::class              => AdldapLaravelListenersLogSynchronized::class,
AdldapLaravelEventsSynchronizing::class             => AdldapLaravelListenersLogSynchronizing::class,
AdldapLaravelEventsAuthenticated::class             => AdldapLaravelListenersLogAuthenticated::class,
AdldapLaravelEventsAuthenticating::class            => AdldapLaravelListenersLogAuthentication::class,
AdldapLaravelEventsAuthenticationFailed::class      => AdldapLaravelListenersLogAuthenticationFailure::class,
AdldapLaravelEventsAuthenticationRejected::class    => AdldapLaravelListenersLogAuthenticationRejection::class,
AdldapLaravelEventsAuthenticationSuccessful::class  => AdldapLaravelListenersLogAuthenticationSuccess::class,
AdldapLaravelEventsDiscoveredWithCredentials::class => AdldapLaravelListenersLogDiscovery::class,
AdldapLaravelEventsAuthenticatedWithWindows::class  => AdldapLaravelListenersLogWindowsAuth::class,
AdldapLaravelEventsAuthenticatedModelTrashed::class => AdldapLaravelListenersLogTrashedModel::class,
],
],
];

谢谢

LDAP 服务器说您提供的凭据是错误的。 您确定您的用户名和密码是100%正确的吗?空格或任何类型的无效字符?

CN=user.admin,CN=Users,DC=UATADSRV,DC=COM`

另外,它是否与 ldap_bind(( 函数一起使用?

最新更新