初心者の Spring MVC/セキュリティに関する質問。ユーザーのセキュリティ/認証を管理するためにSpring Securityを実装することができました。ビジネス ロジックの結果に基づいて、異なるビュー/ページへのリダイレクトを使用して、認証されたユーザーにビジネス ロジックを実装したいと考えています。
例 (ユーザーが認証に成功し、要求されたビュー/ページに必要な役割を持っていると仮定します):
- ユーザーがまだ電子メールを検証していない場合 > 電子メール検証エラー ビュー/ページを表示し、電子メール検証電子メールを再送信するためのリンクを表示する
- ELSE IF ユーザーが他のビジネス ロジックに失敗する > ページ X を表示する
- ELSE IF ユーザーが他のビジネス ロジックに失敗する > 表示ページ Y
- ELSE > デフォルトの認証後のビュー/ページまたは要求されたビュー/ページを表示
私は周りを検索し、これを実装する可能な方法を見つけました (例: カスタム authenticationSuccessHandler と Filtering) が、私が見つけた例については確信が持てません:
a) ビジネス ロジックの結果に基づいて、別のビュー/ページにリダイレクトする方法
b) このアプローチが、ページに直接アクセスしようとするユーザーを処理するかどうか (つまり、電子メールを検証していない認証を通過したユーザーは、アクセスしようとしているものに関係なく、「電子メール検証エラー」ビュー/ページにリダイレクトする必要があります。彼らは(安全な)ビュー/ページに直接アクセスしようとします)
上記に代わる方法は、すべてのコントローラーにビジネス ロジックを含めることです。
とにかく、「最善/標準」のアプローチを理解したいと思っています (そのようなものが存在する場合!)