0

Web サイトのコンテンツを提供する Java サーブレットがあり、フォーム認証を使用してユーザーをログインさせ、コンテンツにアクセスできるようにしています。ユーザーが保護されたリソースにアクセスするたびに、ユーザー名/パスワードを Web サーバーの j_security_check パスに送信するために使用されるログイン フォームにリダイレクトされます。残りは、ユーザー セッションを生成し、応答して、ユーザーがアクセスしようとした最初のリソースにユーザーをリダイレクトする Java セキュリティ メカニズムによって処理されます。ここまでは順調ですね。

私がやりたいことは、次の方法でログインしていないユーザーにリソースへのアクセスを提供することです: GET www.myserver.com/anotherLoginMethod=aasdfJKL aasdfJK はサーバーによって生成されたハッシュです。サーバーは、ユーザー アカウントとの関連付けを保持し、ユーザーがこの GET 要求を送信するときに、次のことを行う必要があります。

1) anotherLoginMethod パラメータ値を取得します。2)関連付けられたユーザー アカウント (資格情報) を取得します。3) j_security_check ハンドラでユーザー名/パスワードを使用して POST を実行しているかのように、ユーザーを自動的にログインさせます。

それは可能ですか?

Filter で HttpServletRequest のログインおよび認証メソッドを使用してみましたが、これまでのところ成功していません。

4

1 に答える 1

0

比較的単純です。決定する必要があります 1. ハッシュ値とそのユーザーへの関連付けをどこに保持する予定ですか? 2.ユーザーにハッシュを与えることをどのように提案しますか? このステップでは、セキュリティを確保することが最も重要です。

これが完了したら、このリクエストをインターセプトできるサーブレット フィルターを作成するか、サーブレット自体にロジックを記述して、ハッシュ値に関連付けられているユーザーを取得し、ユーザーが正常にログインしたかのようにセッションを生成し、必要な URL にリダイレクトします。このような方法論に関連するセキュリティの問題を理解することが重要です。

于 2012-11-29T10:29:23.657 に答える