5

Web アプリケーション外のフォルダーから画像を提供しています。C:\source\Pictures 内に画像を保存しました。このリソースを、Spring のサーブレット コンテキスト ファイルで静的リソースとして構成しました。

<resources location="file:///C:/source/Pictures/" mapping="/img_resources/**"/>

を使用してそのフォルダーに保存されている画像を表示します

<img src="<spring:url value='/img_resources/guinnes_choc_cake.jpg/'/>"></img>

それは私にとってはうまくいきます。ただし、セキュリティ上の懸念があります。サーバー内のディレクトリを公開したくありません。1

Spring でこのフォルダの周りにセキュリティを構築する方法はありますか?

4

2 に答える 2

7

Spring Security を使用している場合は、Spring コンテキスト ファイルに次のようなものを追加できます。

<sec:intercept-url pattern="/img_resources/**" access="isAuthenticated()" />
于 2012-12-25T00:16:12.713 に答える
1

静的リソースへのアクセスを制限する特別な理由はありません。

ディレクトリ構造が明確に定義されており、ファイルの順序がセマンティック (つまりimg_resources、フォルダーに画像のみが含まれる) である場合、そのようなリソースへのアクセスを許可するか、フィルター チェーンを通過するオーバーヘッドを回避するためにフィルターを完全にバイパスする必要があります。次に例を示します。

<sec:intercept-url pattern="/img_resources" filters="none" />

Spring Security チュートリアルから:

Spring Security のフィルターによって静的リソースがまったく処理されないようにしたいと考えています。<http>これを実現するために、特定のパターンにのみ適用されるブロックを追加できます 。これは特定のパターンに適用されるため、既存のブロックの前に配置する必要があります。パターン属性が指定されていない場合、ブロックはすべてのリクエストに適用されます。

于 2012-12-26T21:18:04.950 に答える