1

私は Tomcat 7 JSP アプリに取り組んでおり、アプリケーション レベルの認証を使用しています。つまり、ユーザーは、データベースに対してチェックするフォームにログインします。次に、セッションにユーザー Bean を設定してログインさせます。

当時、それは論理的なことのように思えました。しかし今、私は自分自身に疑問を呈しています... 私は詳細に行き詰まっています.

たとえば、ユーザーが各安全なページにログインしていることを確認します。そうでない場合は、ログイン ページにリダイレクトします。その後、ログインによって安全なページに戻ります。これには、セッション タイムアウトの問題があります。

例: ユーザーがフォームを編集します (基本的な CRUD)。すると電話が鳴る。通話後、フォームを送信しますが、有効なセッションはありません。アクションはログインにリダイレクトされます。しかし、ログイン後、フォーム変数は空白になり、テーブルに空の行が作成されます...

この状況に対処する方法を考えることができますが、今は野生のガチョウの追跡ではないかと考えています. より良い方法はありますか?

  • アプリケーション ベースまたはコンテナー ベースの認証のメリットについて説明している FAQ はありますか?
  • ロール ユア オウン認証の適切に文書化されたパターンはありますか?
  • このシナリオは、将来的にスケーラビリティの問題を引き起こしますか?

代替手段を探しています。ありがとう

4

1 に答える 1

2

ちょうど私の2セント。これが私がすることです。

1) Well instead of just relying on Session Variable alone , you can create a cookie to log other detailsUserName 、 lastAccessedPage など。

2) Don't not handle authentication at the JSP , rather move the logic to a Servlet Filter. 理想的には、セッションがすべてのリクエストに対して有効かどうかを確認する必要があります。

3)When session times outフォームの送信中、パラメータは送信されますが、これはフィルタによって傍受されます。Filtercreate a temp session variableでは、キーを使用userid_pagetype (to make it unique)してすべてのリクエスト データ (つまり、Request Params と Request param 値) を格納することができます。

この設定が整っていれば、彼が再びフォームに着地したときにフィールドにデータを入力できます

于 2013-03-07T10:37:29.873 に答える