4

私は現在、サーバー側で Jax-RS (Tomcat 7 コンテナーにデプロイ) を使用し、フロントエンドで HTML5、CSS3、および jQuery を使用して軽量の Web アプリケーションを開発しています。

接続は正常に機能します。私が知らないのは、アプリケーションを保護する方法です。私の考えでは、ユーザーはフロントエンドを介して登録でき、デフォルトの役割 (ユーザーなど) に割り当てられます。

それ以降、ユーザーは Web サイトにログインして、たとえばコースなどに登録することができます。

安全な方法でこれをどのように達成できますか? tomcats 認証 (DIGEST または FORM) を使用するのが最善ですか? それとも別の方法がありますか?たとえば、すべてのリクエストでユーザーとパスワードを MD5 ハッシュとして送信しますか?

Ressource クラスで @RolesAllowed アノテーションを使用して、特定のグループのみがアクセスできるメソッドにアノテーションを付けることができれば素晴らしいと思います。

また、ユーザーデータをクライアントに保存するにはどうすればよいですか? ユーザーがリクエストのたびにサインインする必要がないようにするには? そのためにクッキーを使用する必要がありますか?

もう 1 つよくわからないのは、ショッピング カートのデータを保存する方法です。特定のユーザーのすべてのショッピング カートの内容を格納するサーバーで DB テーブルを使用することは良い考えでしょうか? そこでユーザーを特定するにはどうすればよいですか? テーブル内のログイン ユーザーとショッピング カート エントリの間のマッピングはどのようになりますか?

誰かが私を助けてくれることを願っています:-)。

前もって感謝します

あいさつ

4

2 に答える 2

1

セッション Cookie を使用して、いくつかのシステムでこれを行いました。@Context HttpServletRequest簡単な方法は、すべてのサーバー側の Jersey-fied メソッドにパラメーターとして追加することです。これにより、セッションを取得できます。私の場合、ラップされたユーザー セッションを Tomcat フィルターとしてスレッド コンテキストに配置するセキュリティ ハンドラー (Shiro に似ていますが、バゲージはありません) があるため、@Context HttpServletRequest注釈は使用しません。ユーザーが使用できない ID で RESTful リソースにアクセスしようとしても、応答がありません。

于 2013-02-19T17:45:05.847 に答える
0

あなたが提案したように、私はFORM認証を使用します。ロール アノテーションを使用して、コンテキスト セキュリティ制約を生成できます。

ユーザー情報をバスケットのように保存するには、それをセッション オブジェクトに保存し、有効期限が切れたらディスクまたはデータベースにシリアル化して永続性を高めます。

于 2013-02-19T16:19:28.537 に答える