[fess-user 480] リクエストパラメータによるロールベース検索につきまして

Back to archive index

SHINTAROH OHBA shint****@bsol-*****
2011年 5月 10日 (火) 10:35:50 JST


はじめて投稿させて頂きます。
大場と申します。

現在、FESSのRESTインターフェイスとやり取りするSwingベースのクライアントを作っています。

ロールベース検索に関してお聞きしたい事があります。
下記に示す通り、リクエストパラメータによるロールベース検索を意図通りに動かす事ができませんでした。
一応、暫定でサーバー側のソースを変更しているのですが、そもそも的に自分の使い方(設定等)が間違っているのではないか、とも思っています。

もし、使用法等に誤りがあれば、ご指摘いただければ幸いです。

以上、よろしくお願い致します。

ohba


(現象)
リクエストパラメータによるロールベース検索が行われない。

詳細な設定内容は後述しますが、下記URLに記載の内容に従って設定を行いました。
使用しているバージョンは4.0です。
http://fess.sourceforge.jp/ja/articles/article-3.html

role1というロールを設定後、下記URLのように問い合わせを行っても、fessRolesに設定したロールが無視されて、guestで検索されます。
http://localhost:8080/fess/search?query=MDB&fessRoles=role1


(原因と思われる所)
http://localhost:8080/fess/search?query=MDB&fessRoles=role1
とした場合、
jp.sf.fess.helper.impl.RoleQueryHelperImpl#buildByParameter()の
return decodedRoleList(parameter, encryptedParameterValue);
部分のparameterには、「role1」が入っていました。
その後呼ばれる decodedRoleList(parameter, encryptedParameterValue)では、
parameter.split(valueSeparator);(valueSeparatorは\n)した結果の要素[1]をロール設定値として処理しているため、
parameterが[role1]のようになっている場合に、定義が無視されているようです。
その結果として、ロールベース検索が上手く行われていないようでした。

そこで現在、暫定的に、
jp.sf.fess.helper.impl.RoleQueryHelperImpl#buildByParameter()の
return decodedRoleList(parameter, encryptedParameterValue) を
return decodedRoleList("\n" + parameter, encryptedParameterValue) の様にしています。


(具体的な設定内容)
 1)tomcat-users.xml に [role1]というロールを追加
 2)app.dicon の jp.sf.fess.helper.impl.RoleQueryHelperImpl 設定部分を下記に設定
	<component name="roleQueryHelper"
class="jp.sf.fess.helper.impl.RoleQueryHelperImpl">
	    <property name="parameterKey">"fessRoles"</property>
	    <property name="encryptedParameterValue">false</property>
	    <property name="defaultRoleList">
	        {"guest"}
	    </property>
	</component>
 3)FESS管理画面の「ロールの設定」で[role1]を登録
  設定名:テスト
  値:role1
 4)ファイルシステムのクロール設定で、「ロール」に「テスト」を指定




Fess-user メーリングリストの案内
Back to archive index