当前位置: 首页 > 知识库问答 >
问题:

如何在单页应用程序(spring security)中提供CSRF令牌?

范振海
2023-03-14

如果HTTP POST返回一个HTTP 403禁止,但对HTTP GET有效,那么问题很可能与CSRF有关。提供CSRF令牌或禁用CSRF保护(不推荐)。

那么,a怎么能做到这一点呢?

function getPage(url) {
    $.ajax({
        type: 'POST',
        url: url,
        data: {_csrf: "??"},
        success: function (data) {
            loadPage(url, data);
        }
    });
}

共有1个答案

白光耀
2023-03-14

您可以从存储在客户端的cookie中获得令牌。为此,您必须使用如下cookie服务:https://www.npmjs.com/package/angular2-cookie

编写一个类似这样的函数来获取令牌:

getCookie(){
    return this._cookieService.get("token-name");
}

最后,将令牌添加到请求头中:

doSomething(token){
    var json = JSON.stringify({});
    var headers = new Headers();
    headers.append('Content-Type','application/json');
     headers.append('token-name', token);
    return this._http.post('http://localhost:8080/doSomething', json, {
        headers: headers
    }).map(res => res.text()
    );
}
 类似资料:
  • 我正在尝试将CSRF保护添加到基于Spring-Boot(尤其是WebFlux)的项目中。 到目前为止,我所尝试的是低于安全配置。 但当我尝试上述配置时,我看不到任何与CSRF令牌从服务器推送到浏览器相关的内容。它不是默认推送到客户端吗?如果是这样的话,向客户端(浏览器)提供CSRF令牌的更干净的方法是什么?其中spring文档提到了这一点。(我跟着这个- P、 S.(希望以下信息对回答有用) S

  • 我有一个小型java webapp,由三个微服务组成——api-service、book-service和db-service,所有这些都使用mini kube本地部署在kubernetes集群上。 我计划为api-service和book-service保留单独的UI,从单独的pod提供常见的静态文件,可能是映像。 我能够创建一个前端,为参考本教程的nginx:alpine中的静态文件提供服务。

  • 我对开发Spring Boot和React是个新手。我正在尝试开发一个基于web的向导应用程序,包含多个表单。使用SpringBoot作为后端,React作为前端框架。我想为向导任务提供一个登录表单和多个表单。不幸的是,我无法使SpringBoot自动将html文件提供给URI。比如那个测试。html显示在http://localhost:8080/test.那么,如何将html文件链接到Spri

  • 问题内容: 我有一个通过IIS服务的单页面应用程序(angular- js)。如何防止HTML文件缓存?解决方案需要通过更改index.html或web.config中的内容来实现,因为无法通过管理控制台访问IIS。 我目前正在研究的一些选项是: web.config文件缓存配置文件- http://www.iis.net/configreference/system.webserver/cach

  • 我想在Spring启动应用程序中拥有jaxrsendpoint。在同一台服务器上,我想拥有为RichInternetApplication提供单页服务的html页面。 这种配置是可能的吗?我正在尝试,但似乎他们努力相互排斥。 我的 mvn 家庭控制器: 和贾克斯尔会议: 和jaxrsendpoint 如果我使用Springmvc而不是jaxrs,它会起作用吗? 请帮帮忙

  • 在Java8上运行的一小部分示例代码中,我试图遵循bc-fips-1.0.2.jar用户指南Legion of the Bouncy Castle Inc. BC-FJA 1.0.2(Bouncy Castle FIPSJavaAPI)用户指南Date: 09/14/19: 注意:对FIPS模式的支持在Java 1.9中似乎已经开始消失,已经确认从Java 11开始它是一个空操作。对于Java 1