如何捕获401,403错误并作为成功响应200

时间:2016-06-02 09:12:24

标签: java spring hibernate web oauth

我正在使用java spring项目并使用restful web services。出于安全考虑,我添加了oAuth spring security。当访问令牌过期时,它显示 401 网关错误。我需要捕获这些错误并以json错误响应作为 200 Http Success 状态进行响应。例如 {"error" : "Unauthorized"} 。要配置以捕获401错误。请帮助我。

1 个答案:

答案 0 :(得分:0)

您应该使用security-filter-chain。创建过滤器以获得自定义实现并添加它。以下是文档中的示例。

<bean id="filterChainProxy" class="org.springframework.security.web.FilterChainProxy">
  <sec:filter-chain-map path-type="ant">
     <sec:filter-chain pattern="/webServices/**" filters="
           securityContextPersistenceFilterWithASCFalse,
           basicAuthenticationFilter,
           exceptionTranslationFilter,
           filterSecurityInterceptor" />
     <sec:filter-chain pattern="/**" filters="
           securityContextPersistenceFilterWithASCTrue,
           formLoginFilter,
           exceptionTranslationFilter,
           filterSecurityInterceptor" />
  </sec:filter-chain-map>
</bean>