0

Java Web アプリでの Cookie、セッション、および認証を理解するのに少し問題があります。

基本的に、サーブレットがリクエストオブジェクトを与えるオブジェクトに認証クラスがあり、ユーザーがログインしているかどうかに応じて true または false を返す責任があります。

では、ユーザーがログインするたびに大きなランダムな文字列を作成し、それを値として response.cookie に渡し、セッション オブジェクトにも属性として渡しますよね? そのユーザーが別のリクエストをしたとき、私は彼が私に送った Cookie を彼のセッションの Cookie と比較して、それが同じかどうかを確認します。その後、彼は認証されますよね?

ここで間違ったことを言うかもしれないので、ユーザーの認証が上記のプロセスであるか、どこが間違っているかを誰かに説明してもらいたいのです。

ありがとうございました

4

2 に答える 2

0

簡単な方法は、ユーザーが認証されたときにセッション (またはユーザー オブジェクト自体) にフラグを設定することです。Cookie を使用して何もする必要はありません。Cookie を使用してセッションの維持をコンテナーに管理させます。セッション自体に関心があるだけです。

より効率的にするには、ユーザーがログインするまでセッションを作成しないようにコードを最適化します。ただし、ログインしていないユーザーの他の情報 (ショッピング カートの内容など) を保存できない場合があります。わずかなメモリの節約は、余分な手間をかける価値はありません。

フレームワークを使用することをお勧めします-JAASは抽象的/複雑すぎます。シロのようなものを使用してください

于 2013-02-06T02:18:14.173 に答える
0

セキュリティ フレームワーク (JAAS など) で処理するか、データをセッションに保存します。Cookie に保存することは、非常に安全ではなく、さまざまな攻撃に対して脆弱です。この同様の質問を参照してください

Cookie はクライアント側に保存され、セッションはサーバーで管理されるため、より安全です。JAAS または他のフレームワークを使用すると、より高度な認証/承認オプションが提供されます。

于 2013-02-06T02:37:40.120 に答える