0

あなたがあなたのウェブサイトにログインしたユーザーだけが見ることができるようにしたい画像Iを持っているとしましょう。ログインしていないユーザーから私を保護するための最良の方法は何ですか。考えられる方法の1つは、getまたはpostパラメーターを介して画像名を渡すページを作成することです。このページでは、ディスクから画像を読み取り、ユーザーがセッションにログインしているかどうかに基づいて応答を書き戻すことで画像を返します。リソースのセキュリティをより効率的に達成するためのより良い方法はありますか?

4

3 に答える 3

2

セッションを使用します。ユーザーがログインすると、画像がページに読み込まれます。

于 2013-01-12T20:42:05.923 に答える
1

サーブレットフィルタまたはリソースを提供する単純サーブレットを使用してこれを行う簡単な方法がいくつかあります。

個人的には、プリンシパルが設定されているかどうかを確認します。そうすれば、ユーザーが認証されていることがわかります。

    Principal principal = request.getUserPrincipal();
    if (principal == null) {
        return null;
    }

ユーザーが認証されていないことがわかっているプリンシパルがない場合は、403ステータス、空白の画像など、好きなものを返すことができます。

于 2013-01-12T20:49:44.533 に答える
0

画像ファイルのURLを保護したい場合は、コードでそれらのアクセスに関するいくつかのルールを設定してください。より良い代替策は、セキュリティフレームワークを使用することだと思います。Spring Securityのようないくつかのセキュリティプラットフォームは、ユーザー認証ステータス、URLとロールの組み合わせ、およびaclなどに基づいて非常に包括的なアクセスルールを提供します。

于 2013-01-13T16:23:51.353 に答える