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“接受”: