SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Fessで作るApache Solrベースの全文検索サーバー

Fessで作るApache Solrベースの検索サーバー
~ ロールベース検索編

部門別や役職別などに検索してみよう!

  • X ポスト
  • このエントリーをはてなブックマークに追加

 前回のモバイル編では、Fessを用いてどのように携帯端末向け検索システムを構築するかをご紹介しました。本記事ではFessの特徴的な機能の一つでもあるロールベース検索機能についてご紹介します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 前回のモバイル編では、Fessを用いてどのように携帯端末向け検索システムを構築するかをご紹介しました。本記事ではFessの特徴的な機能の一つでもあるロールベース検索機能についてご紹介します。

 本記事ではFess 4.0.0 betaを利用して説明します。Fessの構築方法については導入編を参照してください。

対象読者

  • ポータルサイトなどの認証があるシステムで検索システムを構築してみたい方
  • 閲覧権限ごとに検索する環境を構築したい方

必要な環境

 この記事の内容に関しては次の環境で、動作確認を行っています。

  • CentOS 5.5
  • JDK 1.6.0_22

ロールベース検索

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

 Fessのロールベース検索ではロール情報を以下の場所から取得できます。

  1. リクエストパラメータ
  2. リクエストヘッダー
  3. クッキー
  4. J2EEの認証情報

 利用方法としては、ポータルサーバーやエージェント型シングルサインオンシステムでは認証時にFessの稼働しているドメインとパスに対してクッキーで認証情報を保存することで、ロール情報をFessに渡すことができます。

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

 このようにさまざまな認証システムと連携することで、ユーザーごとに検索結果を出し分けることができます。

 独自の認証システムを運用しているような場合は、jp.sf.fess.helper.RoleQueryHelperインターフェイスを実装してクラスを用意することで対応することができます。作成したクラスは「webapps/fess/WEB-INF/classes」などのクラスパスが通っている場所に配置して、「webapps/fess/WEB-INF/classes/app.dicon」でjp.sf.fess.helper.impl.RoleQueryHelperImplに代わって指定します。

次のページ
ロールベース検索を利用するための設定

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Fessで作るApache Solrベースの全文検索サーバー連載記事一覧

もっと読む

この記事の著者

菅谷 信介(スガヤ シンスケ)

N2SM, Inc.にソフトウェア・アーキテクトとして勤務。Apache Portalsにて、コミッター兼PMCとして活動。その他、Seasar Projectなどのオープンソースプロジェクトでコミッターとしても活動。オープンソース関連の活動をブログTwitterに投稿。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5605 2010/12/16 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング