angular - 如何将 csrf token 添加到 Angular 2 应用程序

标签 angular spring-security csrf csrf-protection spring-restcontroller

我已在 java 后端(在 SecurityConfig.java 文件中)启用了 CSRF,以维护 angular2 和 spring 应用程序之间的用户 session 。但是当帖子提交被触发时,我没有看到任何 CSRF token 绑定(bind)到 POST 请求。

enter image description here

如何将 CSRF token 添加到我的 angular2 应用程序。 (添加到帖子请求中)


登录服务.ts

  userLogin(loginDTO){
    let headers = new Headers({ 'Content-Type': 'application/json' });
    let options = new RequestOptions({ headers: headers });

    var result = this._http.post(this._rest_service_login, JSON.stringify(loginDTO),options)
        .map(res => res.json());
    return result;
}

最佳答案

你应该看看 developer guide of Angular2 .您可以使用提供者实现策略(或使用现有策略)。

RC.5

@NgModule({
 (...) 
    providers: 
    [
        { provide: XSRFStrategy, useValue: new CookieXSRFStrategy('myCookieName', 'My-Header-Name')},
    ]
}) 
export class AppModule { }

RC.4

bootstrap(
    AppComponent,
    [
        { provide: XSRFStrategy, useValue: new CookieXSRFStrategy('myCookieName', 'My-Header-Name')},
    ]
);

您还可以使用以下提供程序为您的应用程序实现自定义策略 { provide: XSRFStrategy, useClass: MyXSRFStrategy}

关于angular - 如何将 csrf token 添加到 Angular 2 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39016862/

相关文章:

javascript - 带标签的 IBAN 口罩

angular - 从 Angular 组件中移除包装器

java - 如何捕获 AuthenticationProvider 抛出的正确异常?

javascript - CSRF 403 禁止 - 无效的 CSRF token

node.js - Nodejs 和快速重定向到 https 不适用于主页

angular - 数字计数器上的 ionic 3 Angular 动画

python - 程序员可能想要使用 csrf_exempt 的例子有哪些?

security - 如何检测CSRF漏洞

java - Spring Boot创建自定义注释来获取登录用户?

spring - 通过 Spring Security 登录后接收 sessionid