Fess 15.10向けの開発版では、LDAPやActive Directoryにユーザー名とパスワードでログインするとき、ディレクトリーに渡す名前とFessが権限やセッションで使う名前をそろえます。関連する本体の変更はmainに反映済みです。
入力名の前後の空白を取り除く
ログイン時に名前の前後の空白を除き、途中の空白は残します。空白だけの名前ではLDAP認証を行いません。LDAP連携を設定した環境で、テスト用アカウントの名前を前後に空白を付けて入力し、ログイン後に表示されるユーザー名と検索権限を確認できます。
古いActive Directory向けの長さ設定
ldap.max.username.length の初期値は -1 で、負の値では切り詰めを行いません。旧Active Directoryの20文字のログオン名に合わせて値を指定している場合、空白を除いた名前を先頭から指定の長さに切り詰め、末尾に残った空白も除きます。LDAPバインド、ロール検索、権限名、セッションが同じ名前を使います。長さだけでログインが拒否されることはありません。
フォームとv2 APIで同じ回数制限を使う
LDAP認証の候補は、正規化後に同じ名前になる入力を、ログインフォームと /api/v2/auth/login の共通のユーザー別カウンターで数えます。authentication.admin.users の予約名は入力時と正規化後の両方で判定されます。切り詰めの対象はLDAPのパスワード認証で、ローカル認証やIdPが伝えたSSOユーザー名には適用されません。