2009-09-24 11 views
5

私はSpring/JavaEEのWebプログラマで、将来のWebアプリケーションのRESTの原則を調査し始めていますが、使用可能なログイン方法を理解できません。 Web APIの場合は理にかなっていますが、エンドユーザがWebアプリケーションに直面するのはどうでしょうか?私はHTTPの基本/ダイジェスト認証を見てきましたが、醜いダイアログボックスしか生成しません。誰にでもアイデアはありますか?フォームベースのログインとRESTの原則を適用しています

答えて

2

これは、フォームベースのログインにどのようにアプローチするかによって大きく異なります。

J2EE仕様で定義されているように、ログインページは保護されたリソースにアクセスしようとすると(まだ認証されていない)ユーザにのみ表示されます。それ自体ではアクセスできない(またはそうでない)べきではありません。このシナリオでは、ログインページはRESTの原則によって管理される必要はありません。それ自体が「リソース」ではないからです。言い換えれば、ワークフローは次のとおりです。

  1. ユーザーは「/製品/ 0332425」
  2. Sは/彼は「/ログイン」にリダイレクトされ、柱彼の資格情報は、として(バックリダイレクトされ、RESTのURLを取得しようとします(/ products/0332425 ')
  3. '/login 'にアクセスしようとすると、エラー(403?)または "root"にリダイレクトされます。

これはうまくいかず、複数のページでログインフォームを利用できるようにする必要がある場合は、それを他のPOSTと同じようにページと投稿の一部として扱います。

+1

これは本当にRESTfulではありません。 RESTfulはHTTP認証で、リクエストごとにユーザー名とパスワード(またはハッシュ)を送信します。 – deamon

関連する問題