ユーザーがログインしている場合にのみ、ホーム、バージョン情報、利用規約などを除くすべてのページを表示できるSpring MVC Webアプリケーションでは、認証を行うのに最適な場所はどこですか?フィルタレベル、コントローラレベル、またはその両方で?
コントローラーを作成しているので、次のような多くのコードを繰り返しているので、これを求めています。
if (currentUser.isAuthenticated()) // and possibly currentUser.hasPermission("some")
// do logic and return proper page
else
// return to home or login page
認証が必要なすべてのページを何らかのURLパターンの下に置き、フィルターで保護(ユーザーが認証されていない場合はキャッチしてリダイレクト)する方がよいでしょうか?このようにして、コントローラーはよりクリーンになり、要求されたページを返すだけです。
この場合の適切な設計は何ですか?