Spring security Spring安全性-根据UserDetails定制响应状态

Spring security Spring安全性-根据UserDetails定制响应状态,spring-security,java,spring,Spring Security,Java,Spring,简介 我刚才问了另一个问题,答案可能会导致一个解决方案,但可能有更好的方法。担保由提供 问题描述 我将用户存储在DynamoDB中。通过遵循特定的流(这里不是这种情况),可能会获得一个特殊的veryImportantUser=true参数。在这种情况下,我想返回自定义状态代码202,这样前端就可以向这样的用户显示特定的视图 我拥有的: 我在AuthenticationsSuccessHandler上有MyAuthenticationSuccessHandler和以下OnAuthenticatio

简介
我刚才问了另一个问题,答案可能会导致一个解决方案,但可能有更好的方法。担保由提供

问题描述
我将用户存储在
DynamoDB
中。通过遵循特定的流(这里不是这种情况),可能会获得一个特殊的
veryImportantUser=true
参数。在这种情况下,我想返回自定义状态代码
202
,这样前端就可以向这样的用户显示特定的视图

我拥有的:
我在AuthenticationsSuccessHandler上有
MyAuthenticationSuccessHandler
和以下
OnAuthenticationsSuccess

@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
    super.onAuthenticationSuccess(request, response, authentication);
    MyUserDetails userDetails = (MyUserDetails)SecurityContexHolder.getContext().getAuthentication().getPrincipal();
    if (userDetails.isVIP())
        response.setStatus(HttpServletResponse.SC_ACCEPTED);
}
问题:

我在这个方法中设置了一个断点,它就被触发了。响应状态设置为
202
,但在我的
Postman
中,我收到状态
200
。我可以用其他方式处理它吗
RequestHeaderAuthenticationFilter
?我希望这样做而不必为
xml
配置而烦恼。

您确定要使用202吗?表示处理尚未完成是。VIP的故事不是真的。由于公司的政策,我不得不对它进行审查。事实上,202匹配完美将其作为公司政策听起来更像是403“禁止”而不是202“接受”:你确定要202吗?表示处理尚未完成是。VIP的故事不是真的。由于公司的政策,我不得不对它进行审查。事实上,202与完美匹配将其纳入公司政策听起来更像是403“禁止”而不是202“接受”: