(from osdn.net/users/xfedora)
いつも大変お世話になっております。
表題の件、以前から、不思議に思いましたが、一度ここで解決策を見つけられないかお問い合わせさせていただきます。
以下の環境です。 Fess 9.2.0 Windows PC
ユーザーA:全ファイルサーバーへのアクセスけあり
ユーザーB:サーバーの一部しかアクセスが出来ない。
そこで、検索で出てくる要約文だけならユーザーBが見てもいいのではと思い、
ユーザーAのアクセス権が設定されているPCにFessを設置し、クロール
そして、この後から問題ですが、ユーザーBが自分のPCで、検索をかけると、
要約文が見れるだけでなく、リンクを押すと、本来はアクセスできるはずのないファイルがそのままダウンロードできてしまいます。
この件、どのようにすればよいでしょうか?
検索結果に出るリンクを、イントラネットのアドレスに置き換えさせる方法はありませんか?
以上、よろしくお願い致します。
(from osdn.net/users/xfedora)
デザイン JSP ファイル での「検索結果ページ(コンテンツ)」のファイルを修正すれば、ダイレクトに元のクロール先よりダウンロードさせることができるかと考えておりますが、HTML知識が足りず、この前に進めません。
検索結果のタイトルにカソルを当てると、IEの下にファイル本来の居場所が出できますが、
実際、クリックするとIDなどで組み合わされた検索エンジンのサーバのキャッシュを探している気がします。このままですと、元検索元のアクセス権を全部パスしてしまうので、
冷や汗をかいております。
疑わしいところは以下の箇所かと思われますが、具体的にどのように修正したらよいでしょうか? 是非、よろしくお願い致します。
-
${doc.contentDescription}
(from hogefoobar's Profile - OSDN)
横から失礼します。
検索結果に出るリンクを、イントラネットのアドレスに置き換えさせる方法はありませんか?
「パスマッピングの設定」で解決はしませんか?
ただ…ファイルシステムへのアクセスは、smbを想定していますか?
もし「\hoge_server\foo_dir\~」のようなローカルパスでのアクセスを想定しているならば、それはブラウザのセキュリティ的に問題があるので、出来ません。
(これを許すと、web側からローカルリソースへのアクセスを認めてしまう事になるので)
smb接続で、許可されていないのにアクセスできてしまうという件に関しては、実際見ていない(かつ私の構築した環境ではsmbを使っていない)ので何とも言えない部分ですが、そこはsmbでの接続の話となり、ちゃんと権限設定が出来ているか?といった問題のような気がします。
私もfessに関してはユーザーでしかなく、詳しいわけではないので、投げっぱなしになるかもしれませんが…申し訳ありません。
(from osdn.net/users/xfedora)
会社のきちんとしたファイルサーバですので、アクセス権設定ミスではございません。
Fessがキャッシュからか?転送サーバの役割をしている気がします。
(from osdn.net/users/shinsuke)
まず、Fessに限らず、近年のブラウザやOS事情として、
HTTPでの閲覧において、file://… のようなリンクを
HTML上で返しても、一般的なブラウザやOSの設定では
リンク先を閲覧することができなくなっています。
(すべてのブラウザで回避する設定を一元的に設定できる
ような社内管理しているようなところであれば、
file://… でも良いのかもしれませんが…)
上記の事情があり、Fessではこの問題を回避し、
利便性を上げるために、コンテンツのプロキシ機能が
あります。ですので、ファイルシステムのクロールでは
デフォルトで本機能が適用されます。webapps/fess/
WEB-INF/conf/crawler.propertiesで
search.file.proxy=falseとすればコンテンツ
プロキシが無効になります。
コンテンツプロキシ機能はFessの権限でファイルを
取得します。閲覧者での参照権限がある場合は
適切なロール検索を設定していただく必要が
あります。
(from osdn.net/users/xfedora)
いつも大変お世話になっております。
なるほどですね!!! やっぱりコンテンツのプロキシが入っていますよね (^^)/
すり抜ける不思議な動きが見えていたので、ずっと該当箇所を探しました。
Shinsuke様、本日も大変助かりました。
ありがとうございます。
(from shimp's Profile - OSDN)
質問者の方と同じ問題を抱えています。
webapps/fess/WEB-INF/conf/crawler.propertiesで
search.file.proxy=false
を記述の上でFESS再起動、再クロール、検索を試してみたのですが、
検索結果ファイル名をクリックしても、
セキュリティ設定によってブロックされたアプリケーション
ご使用のセキュリティ設定により、自己署名付きアプリケーションの実行がブロックされています
あるいは、
のダイアログが出ます。
Javaを最小セキュア設定に変更しても、
画面にはパーセントエンコーディングされたURLとともに
『初回起動時には時間がかかる場合があります。』
が表示されるだけで、待っても変化ありません。
どうすれば、FESSではなく閲覧者の権限で、
検索結果を閲覧出来るようになるでしょうか?
宜しくお願い致します。
(from osdn.net/users/shinsuke)
ロール検索を利用していただくか、正規証明書を適用した
fess-launcherは商用サポートでしか提供していませんので、
商用サポートをご検討していただくなどになると思います。
(from osdn.net/users/shimp)
ありがとうござます。
パーセントエンコードされていないURLの場合は、
期待通りに「ファイルを開いてもよろしいですか」で開けることに気が付いたのですが、
実際のところそんなパスはほとんどないのが実情です。
気持ちとしては、FESS 8の頃の動きに戻すだけなので、
何とか出来ないかと思うのですが、
既にブラウザ側の動きが当時とは異なっているとか、
もはや容易には再現不能な状況になってしまったのでしょうか…
(from osdn.net/users/shinsuke)
Fessとしては、Java Web Startの更新に追随する
メンテナンスコストが高いため、fess-launcherを
更新する予定はありません。現状では、コンテンツ
プロキシ機能がデフォルトですので、Fess 10では
fess-launcherは削除することになると思います。
(fess-launcherが必要である場合は、商用サポートでの
個別対応になると思います…)