なんらかの方法で RESTful Web サービスを保護したいのですが、Spring Security について過去数時間読みましたが、それで目的を達成できるかどうかわかりません。典型的なシナリオは次のとおりです。
- ユーザーが www.address.com/rest/getSomething にアクセスしようとすると、401 Unauthorized が返され、リダイレクトされません。
- 彼は、ユーザー名とパスワードのパラメーターを使用して www.address.com/rest/login にアクセスします。
- 彼の資格情報はデータベース内の資格情報と照合されます (私は Hibernate で JPA を使用しています)
- それらが正しい場合、ユーザーは 200 OK を受け取り、ログインしているという情報はセッションに保存されるため、他のアドレスにアクセスするときにユーザー名とパスを送信する必要はありません。彼がログインに成功したかどうかの情報はDBに保存されます
- ログインに失敗した場合、彼は 401 を受け取ります
- ユーザーはWebサービスを好きなだけ使用します(アクセスごとにセッションがチェックされます)
- 10 分間操作がないとセッションが終了し、再度ログインする必要があるとしましょう
- 彼は適切にログアウトするために www.address.com/rest/logout にアクセスする可能性があります (セッションが無効になる可能性がありますか?)
ユーザーが www.address.com/rest/remindPass にアクセスすると、新しく生成されたパスワードが記載された電子メールが送信されます。
編集:そして、もう1つ忘れていました。ユーザーがアドレスにアクセスするのに十分な権限を持っているかどうかを確認するための別のフィルターも必要です。