在 Spring MVC Web 应用程序中,除了 Home、About、Service Terms 等之外的每个页面只有在用户登录后才能查看,哪里是进行身份验证的最佳位置?在过滤器级别、控制器级别还是两者兼而有之?
我问这个是因为现在我正在编写我的控制器,我一直在重复很多代码,比如:
if (currentUser.isAuthenticated()) // and possibly currentUser.hasPermission("some")
// do logic and return proper page
else
// return to home or login page
将所有需要身份验证的页面放在某个 url 模式下并使用过滤器保护(如果用户未通过身份验证,则捕获并重定向)它们会更好吗?这样控制器就更干净了,并且只返回请求的页面。
在这种情况下,正确的设计是什么?