我阅读了很多关于这个问题的线程和解决方案(包括这个SO解决方案),但在发送预飞行请求时仍然有403错误。
我使用的是Spring Data Rest,只要没有发送选项,我就可以很好地处理我的存储库。我还没有使用Spring Security,但我计划很快配置它。以下是我当前的配置:
@Configuration
public class GlobalRepositoryRestConfigurer extends RepositoryRestConfigurerAdapter {
@Override
public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
config.getCorsRegistry().addMapping("/**").allowedOrigins("*").allowedHeaders(
"*").exposedHeaders("Location").allowedMethods("GET", "PUT", "POST", "DELETE",
"OPTIONS");
}
@Bean(name = DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_BEAN_NAME)
public DispatcherServlet dispatcherServlet() {
DispatcherServlet dispatcher = new DispatcherServlet();
dispatcher.setDispatchOptionsRequest(true);
return dispatcher;
}
}
Accept text/html,application/xhtml+xm…plication/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3
Access-Control-Request-Headers content-type
Access-Control-Request-Method POST
Connection keep-alive
Host localhost:8080
Origin http://localhost:4000
Referer http://localhost:4000/
User-Agent Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/64.0
Allow GET, HEAD, POST, PUT, DELETE, OPTIONS, PATCH
Content-Length 20
Date Sun, 30 Dec 2018 08:49:00 GMT
我仍然不知道为什么我的配置不能用于OPTIONS请求,但我设法使它与WebMVCConfigurer
一起工作。下面的配置类解决了我的问题:
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
.allowedOrigins("*")
.allowedHeaders("*")
.exposedHeaders("Location", "Access-Control-Allow-Origin");
}
}
问题内容: 我在HTML页面上有一个div,每当我按下鼠标并移动它时,它会显示“不能放下”光标,就像它选择了某些内容一样。有没有办法禁用选择?我尝试了CSS用户选择,但没有成功。 问题答案: 的专有版本将在大多数现代浏览器中运行: 对于IE <10和Opera,您将需要使用希望不可选择的元素的属性。您可以使用HTML中的属性进行设置: 遗憾的是,该属性没有被继承,这意味着您必须在内每个元素的开始标
问题内容: 编辑2 我仍然需要帮助,因为错误仍然没有得到解决。下面,我添加了指向.ajaxError()抛出的屏幕截图的链接: http://i.imgur.com/RkcgNtG.jpg 另一个想法是服务器设置。suphp或mpm_itk模块是否有可能是导致此错误的原因? 编辑 我已经弄明白了。我的Ajax- Call应该从输入和文本区域更新一些数据。我进行了更多测试,发现403仅在我的文本区域
共享Api实现类,添加preauthorize-admin,查看所有用户 这是我的JUnit测试,我发送get请求并返回403错误。
问题内容: 我编写了一个测试UsersController的单元测试。UsersControllerTest.findUser工作正常,但不能正常运行UsersControllerTest.insertGetModifyDelete。 在测试日志中,我可以看到POST请求与UsersController的任何方法都不匹配,但是我不明白为什么。您能帮我这个吗? 这是我其余的Java类: 我有2种方法
第一次投递到stackoverflow。 我只是试图使用jQuery从json url获取数据。第一个问题是跨源请求块,即使库应该停止这个问题,像ajax跨源js(抱歉不提供这个链接,我太新了,在这里有超过2个链接),我仍然没有运气,一样交叉原点错误。 所以我搬到了JSONP。 (我也尝试过JSONP请求的AJAX语法) 现在我可以在网络选项卡中看到数据正在返回,但状态是403禁止。chrome网
对localhost的Ajax请求返回403错误。然而,当我更改controller requestMethod以获取并在浏览器上打开请求“url”时,它会显示从服务器返回的json数据。我希望使用这些数据填充一个下拉列表。请帮帮我。我正在使用spring security 4.0和spring MVC框架。CSRF未禁用。此外,该url在Spring得到保护。 我在这里查看了相关问题,但没有找到