sAMAccountName требует DOMAIN\ для аутентификации
Я пытаюсь интегрировать SLES с сервером каталогов Windows Active для аутентификации.
Нам нужно использовать sAMAccountName в качестве имени для входа, но его невозможно привязать, если мы не указали DOMAIN/sAMAccountName в команде ldapsearch. Но окно входа в ny-приложение не поддерживает предоставление доменного имени перед пользователем. Я настроил ldap.conf и krb5.conf для обеспечения аутентификации. Есть ли способ дать "DOMAIN/" в начале sAMAccountName по умолчанию для привязки?
Это работает нормально: ldapsearch -x -LLL -h adserver.customer.entp.tgc -D CUSTOMER\EXT123456 -w пароль -b "dc=customer,dc=entp,dc=tgc"
Спасибо за ваши ответы заранее.
nynonur
1 ответ
Я не знаю деталей вашего приложения, но мне кажется, что оно не совместимо с Active Directory.
Прочитайте общедоступную документацию для ADS_NAME_TYPE_ENUM.
Это форматы имен, с которыми вы можете войти. "EXT123456" не является одним из них.
Я знаю, что вы думаете, что "EXT123456" входит в систему с sAMAccountName, но на самом деле это не так. Посмотрите документацию еще раз. На самом деле нет действительного формата входа в систему, который соответствует шаблону "EXT12345" (или "johndoe").
Просто "имя пользователя" само по себе не является допустимым форматом входа. Ну, на самом деле это действительный формат входа... для отображаемого имени пользователя.
Active Directory фактически попытается преобразовать это в отображаемое имя. ADS_NAME_TYPE_DISPLAY
,
Поэтому, если вы не можете заставить свое приложение принять префикс домена или суффикс UPN, или попросить пользователей войти в систему с их отображаемыми именами... Active Directory не просто предполагает, что пустая строка "johndoe" является sAMAccountName.
Но вы не одиноки. Большинство людей предполагают, что вход в AD без доменного префикса или UPN каким-то волшебным образом отображается на sAMAccountName. Но это не так. Если вы хотите посмотреть, как это работает для себя, используйте ldp.exe и выполните простые привязки, используя учетную запись пользователя, отображаемое имя которого отличается от имени sAMAccountName, и не указывайте имя домена. Какой из вас впускает? Это отображаемое имя.