- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个由 Spring Boot REST MVC API 应用程序(spring boot 版本 1.5.2)提供服务的单页客户端。
我的应用程序通过 Auth0 JWT token 进行保护。当一切正常时,响应的 CORS header 由 ServletFilter
提供,它被配置为设置安全性的一部分:
protected void configure(HttpSecurity http) throws Exception {
...
http.addFilterBefore(simpleCORSFilter(), Auth0AuthenticationFilter.class);
...
}
到目前为止,这似乎在我测试过的任何地方都有效——但它不起作用的一个地方是默认的 Spring 错误页面(路径“/error”,默认由 BasicErrorController
呈现)类)。
当我的服务方法中抛出异常时,错误页面会工作并在响应主体中将我想要的内容呈现为 JSON,但客户端应用程序无法访问 http 响应主体,因为响应缺少 CORS header 。
那么问题是:“如何将 CORS header 添加到错误页面”?
我是否应该从我的安全设置中删除 CORS 过滤器并在全局范围内更广泛地应用 CORS 过滤器?在哪里完成 - 我在 Spring 文档中找不到任何相关内容。
或者我应该编写一个自定义错误 Controller 吗?文档中自定义错误 Controller 的唯一示例似乎只允许您返回一个字符串。
最佳答案
您可以为错误定义一个单独的 Controller ,并使用
允许跨源到它@CrossOrigin("*")
关于spring - 如何将 CORS header 添加到 BasicErrorController 呈现的 Spring 错误页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43463735/
我有一个由 Spring Boot REST MVC API 应用程序(spring boot 版本 1.5.2)提供服务的单页客户端。 我的应用程序通过 Auth0 JWT token 进行保护。当
我是一名优秀的程序员,十分优秀!