新手 Spring MVC/安全问题。我已经设法实现 Spring Security 来管理用户安全/身份验证。我现在想为经过身份验证的用户实现业务逻辑,并根据业务逻辑的结果重定向到不同的视图/页面。
例如(假设用户已成功通过身份验证并具有请求的视图/页面所需的角色):
- 如果用户尚未验证他们的电子邮件 > 显示电子邮件验证错误视图/页面,其中包含重新发送电子邮件验证电子邮件的链接
- ELSE IF 用户失败了一些其他业务逻辑 > 显示页面 X
- ELSE IF 用户失败了一些其他业务逻辑 > 显示页面 Y
- ELSE > 显示默认的身份验证后视图/页面或请求的视图/页面
我四处搜索并找到了实现此功能的可能方法(例如自定义 authenticationSuccessHandler 和过滤),但在我发现的示例中我不确定:
a) 如何根据业务逻辑的结果重定向到不同的视图/页面
b) 该方法是否会处理尝试直接访问页面的用户(即,通过身份验证但未验证其电子邮件的用户应该被重定向到“电子邮件验证错误”视图/页面,无论他们尝试访问什么 - 即使当他们尝试直接访问(安全)视图/页面)
上述方法的替代方法是在每个控制器中包含业务逻辑,但这感觉不对,并且确信必须有一种更优雅的方式来处理此要求
无论如何,我很想了解“最佳/标准”方法(如果存在这样的事情!)