【发布时间】:2025-12-11 06:30:01
【问题描述】:
我有很少的 Spring-boot 控制器类来公开很少的其余 Web 服务。每当某些用户尝试访问这些服务中的任何一个时,我都需要调用 Web 服务来检查用户(用户 ID 将作为 RequestHeader 传递)是否被授权。如果未经授权,需要向用户显示错误页面(freemarker 模板)。
我不想编写一个方法来调用身份验证 Web 服务并从每个控制器方法调用它并抛出异常并使用 @ControllerAdvice 将用户重定向到拒绝访问错误页面,因为这里我必须调用该方法来自所有控制器方法。
我不确定是否可以使用 WebSecurityConfigurerAdapter/AuthenticationManagerBuilder 来调用 Web 服务并进行验证。
我正在寻找一些解决方案,我将编写一个拦截器,spring-boot 将在调用控制器类之前调用 web 服务,并且如果验证失败,将能够重定向到错误页面。
【问题讨论】:
标签: spring spring-mvc spring-boot spring-security spring-web