質問

私は Spring/JavaEE Web プログラマーで、将来の Web アプリケーションのための REST の原理を調査し始めていますが、使用可能なログインを行う方法がわかりません。Web API の場合はそれが理にかなっていますが、エンドユーザー向けの Web アプリケーションの場合はどうでしょうか?HTTP 基本/ダイジェスト認証を調べましたが、見苦しいダイアログ ボックスが表示されるだけです。何かアイデアがある人はいますか?

役に立ちましたか?

解決

それは、フォームベースのログインにどのようにアプローチするかによって決まります。

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

  1. ユーザーが REST URL '/products/0332425' を取得しようとしました
  2. ユーザーは「/login」にリダイレクトされ、資格情報を POST し、元のページ (「/products/0332425」) に (GET として) リダイレクトされます。
  3. その後「/login」にアクセスしようとすると、エラー (403?) が発生するか、「root」にリダイレクトされます。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top