ユーザー名に大文字が含まれているとroleに一致しない

Windows ADドメインと、LDAP連携をしています。
例として、以下のユーザーが Windows ADにあるとします。

ユーザー: Abc
所属グループ: HogeGroup

audit.log

action:LOGIN
  user:Abc
  permissions:2HogeGroup|1abc|....

Windows アカウントのユーザー名に大文字が含まれていると、ログイン時に user role(1~) だけが全て小文字(abc)になっていました。

アクセス許可に、ユーザー Abc が設定してあるファイルを、ファイルシステムのクローラーで取得すると、role の値は正しく取得できています。

role

1Abc
2Domain Admins

ログイン時にLDAPで取得するパーミッションの user とファイルの role が一致しないために、検索結果に出てこない症状が出ます。

アカウントフィルタとグループフィルタは、マニュアルの LDAPの設定例と同じ値です。
ユーザーアカウントで直接ファイルやフォルダーにアクセス許可することは少ないため、気が付きませんでした。

ADのバージョンや設定などで、いろいろな事象が発生するのは認識してますが、そのケースだと、fess_config.propertiesで ldap.lowercase.permission.name=true とかに変更すれば良いと思います。

ADのバージョンで変わるんですね…
自分の環境で、LdapManager をデバッグして確認するしかありませんね。

ldap.lowercase.permission.name の変更は試してみました。

FESSを再起動後、
インデックスを削除してから、再クロールしたのですが、インデックスの role は小文字にならなかったため、大文字が含まれているグループにもヒットしなくなりました。

ファイルシステムのクロールは、smb://〜でクロールしているものでしょうか?

はい。

パスに smb://server/folder/ を指定しています。

情報をありがとうございます。
次のリリースで対応します。

確認、対応ありがとうございます!
大変助かります。

14.15.0 リリースありがとうございました!

ldap.lowercase.permission.name=true に変更

  • クローラーの固定パーミッションを小文字に修正
  • ラベルのパーミッションを小文字に手修正
  • インデックスを削除
  • 再クロール

大文字を含むWindowsアカウントで、アクセス権に対応した検索結果が確認できました。

1 Like