ロールベース検索の設定

ロールベース検索について

Fess では任意の認証システムで認証されたユーザーの認証情報を元に検索結果を出し分けることができます。 たとえば、ロールaを持つユーザーAは検索結果にロールaの情報が表示されるが、ロールaを持たないユーザーBは検索してもそれが表示されません。 この機能を利用することで、ポータルやシングルサインオン環境でログインしているユーザーの所属する部門別や役職別などに検索を実現することができます。

Fess のロールベース検索ではロール情報を以下より取得できます。

  • リクエストパラメータ
  • リクエストヘッダー
  • クッキー
  • Fess の認証情報

ポータルやエージェント型シングルサインオンシステムでは認証時に Fess の稼働しているドメインとパスに対してクッキーで認証情報を保存することで、ロール情報を取得することができます。 また、リバースプロキシ型シングルサインオンシステムでは Fess へのアクセス時にリクエストパラメータやリクエストヘッダーに認証情報を付加することでロール情報を取得することができます。

ロールベース検索の設定

ここでは Fess の認証情報を利用したロールベース検索の設定方法を説明します。

Fess の管理画面での設定

Fess を起動して管理者としてログインします。 ロールおよびユーザーを作成します。 たとえば、ロール管理画面で Role1 を作成し、ユーザー管理画面で Role1 に属するユーザーを作成します。 次にクロール設定において、パーミッション欄に {role}Role1 を記述して保存します。 ユーザー単位で指定する場合は {user}ユーザー名、グループ単位で指定する場合は {group}グループ名で記述することができます。 あとはこのクロール設定でクロールすることで、作成したユーザーだけで検索可能なインデックスが作成されます。

ログイン

管理画面からログアウトします。 Role1 に属するユーザーでログインします。 ログインに成功すると検索画面のトップにリダイレクトされます。

通常通り検索すると、クロール設定で Role1 のロール設定されたものだけが表示されます。

また、ログインしていない状態での検索は、guest ユーザーによる検索となります。

ログアウト

管理者以外のユーザーでログインした状態で検索画面でログアウトを選択することでログアウトされます。