web-dev-qa-db-ja.com

sAMAccountNameは、認証するためにDOMAIN \を必要とします

認証の目的で、SLESをWindows ActiveDirectoryサーバーに統合しようとしています。

ログイン名としてsAMAccountNameを使用する必要がありますが、ldapsearchコマンドでDOMAIN/sAMAccountNameを指定しなかった場合、バインドできません。ただし、任意のアプリケーションのログインウィンドウは、ユーザーの前にドメイン名を指定することをサポートしていません。認証を提供するようにldap.confとkrb5.confを構成しました。バインディングのデフォルトとしてsAMAccountNameの先頭に「DOMAIN /」を付ける方法はありますか?

これは正常に機能しています:ldapsearch -x -LLL -h adserver.customer.entp.tgc -D CUSTOMER\EXT123456 -w password -b "dc = customer、dc = entp、dc = tgc"

よろしくお願いします。

nynonur

1
nynonur

アプリケーションの詳細はわかりませんが、ActiveDirectoryと互換性がないようです。

ADS_NAME_TYPE_ENUM の公開ドキュメントをお読みください。

これらは、ログインに許可されているログイン名の形式です。 「EXT123456」はその1つではありません。

「EXT123456」がsAMAccountNameでログインしていると思われることは承知していますが、実際にはそうではありません。ドキュメントをもう一度見てください。 「EXT12345」(または「johndoe」)パターンに適合する有効なログイン形式は実際にはありません。

「ユーザー名」だけでは、有効なログイン形式ではありません。まあ、実際にはそれは有効なログイン形式です...ユーザーの表示名

Active Directoryは、実際にそれを表示名に解決しようとします。 ADS_NAME_TYPE_DISPLAY

したがって、アプリケーションでドメインプレフィックスまたはUPNサフィックスを受け入れることができない場合、またはユーザーに表示名を使用してログインするように依頼することができない場合... Active Directoryは、裸の文字列 "johndoe"がsAMAccountNameであると想定するだけではありません。

しかし、あなたは一人ではありません。ほとんどの人は、ドメインプレフィックスまたはUPNなしでADにログインすると、どういうわけか魔法のようにsAMAccountNameにマップされると想定しています。しかし、そうではありません。これがどのように機能するかを自分で確認したい場合は、ldp.exeを使用し、表示名がsAMAccountNameとは異なるユーザーアカウントを使用して単純なバインドを実行し、ドメイン名を指定しないでください。どちらがあなたを入れますか?表示名です。

3
Ryan Ries