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

Back to archive index

SHINTAROH OHBA shint****@bsol-*****
2011年 5月 11日 (水) 09:04:18 JST


大場です。

菅谷様、お忙しい中にも関わらずご指摘頂きましてありがとうございました。

とても納得しました。
思い切って質問してみて良かったです。

ありがとうございました。

以上です。

ohba


2011年5月10日21:13 Shinsuke Sugaya <shins****@yahoo*****>:
> 菅谷です。
>
> 利用していただきありがとうございます。
>
> リクエストパラメータでの渡すときについて、もう少しドキュメントを
> 書いたかと思ったのですが、dicon に fessRoles=123%0aadmin
> くらいしか、書いてなかったみたいです。すいません・・・。
>
> fessRolesへの渡し方ですが、
> http:///....&fessRoles=数字valueSeparatorロール...
> という形を想定しています。数字部分は何でも構いません。
> (数字なくても任意文字でも大丈夫ですが、リクエストごとに
> 変わるようなものを想定しています) このようにすることで、
> Cipher で暗号化したときに渡される文字列が毎回変わる
> ようにしています(暗号化しない場合は不要なものになりますが)。
>
> 今回の場合ですと、送るリクエストはfessRoles=123%0arole1
> などのようになるかと思います。よろしくお願いいたします。
>
> shinsuke
>
>
> 2011年5月10日10:35 SHINTAROH OHBA <shint****@bsol-*****>:
>> はじめて投稿させて頂きます。
>> 大場と申します。
>>
>> 現在、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 mailing list
>> Fess-****@lists*****
>> http://lists.sourceforge.jp/mailman/listinfo/fess-user
>>
>
> _______________________________________________
> Fess-user mailing list
> Fess-****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/fess-user
>




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