备用标题
- 如何
Method
从中获取映射HttpServletRequest
? - 如何
WebSecurityConfig
基于@Secured
注释而不是路径应用?
问题
我有一个 Spring MVC 服务器,它使用@Secured
注释来指定每个控制器方法所需的角色——它们不容易映射到路径模式。
某些角色是通过特定的身份验证方法授予的(例如 x509、基本领域 A、基本领域 B、承载令牌)。
当调用者未通过身份验证时,WWW-Authenticate 标头不应建议未授予该方法所需角色的内容。
我在哪里
我认为最简单的方法是为 HttpSecurity 配置所有可能的身份验证方法,并将permitAll()
所有检查委托给方法安全性。AuthenticationEntryPoint
但是,当失败时,我只能为链定义一个。
因此,我需要实现AuthenticationEntryPoint
其行为取决于所需角色的行为,但我一直无法找到在方法中获取该信息的commence
方法 - 似乎没有详细说明映射的方法或属性Method
(我可以从中检查注释) 或所需的角色(在request
对象或 中InsufficientAuthenticationException
)。
出于同样的原因, aDelegatingAuthenticationEntryPoint
也行不通,因为我也无法解决这些问题RequestMatcher
。
是否有一个 bean 可以让我轻松掌握这些信息?
我是否走上了解决问题的正确轨道?