使用带有 Django CSRF 保护的 angular2 http 请求的正确方法是什么?

2024-04-24

在Angular1中可以通过配置$http-provider来解决这个问题。喜欢:

app.config(function($httpProvider) {
  $httpProvider.defaults.xsrfCookieName = 'csrftoken';
  $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
});

在 Angular2 中做同样的事情的好习惯是什么?

在 Angular2 中,要处理 http 请求,我们需要使用 Http 类。当然,在每次调用后函数时添加 CSRF 行并不是一个好的做法。

我想在 Angular2 中我应该创建自己的类来继承 Angular2 的 Http 类并重新定义后置函数。这是正确的方法还是有更优雅的方法?


现在 Angular 2 已经发布了,以下似乎是执行此操作的正确方法,通过使用CookieXSRFStrategy.

我已将我的应用程序配置为具有核心模块 https://angular.io/docs/ts/latest/guide/ngmodule.html#!#core-module但您可以在主应用程序模块中执行相同的操作:

import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';
import { CommonModule }   from '@angular/common';
import { HttpModule, XSRFStrategy, CookieXSRFStrategy } from '@angular/http';

@NgModule({
    imports: [
        CommonModule,
        HttpModule
     ],
    declarations: [ ],
    exports: [ ],
    providers: [
        {
            provide: XSRFStrategy,
            useValue: new CookieXSRFStrategy('csrftoken', 'X-CSRFToken')
        }
    ]
})


export class CoreModule {
}, 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用带有 Django CSRF 保护的 angular2 http 请求的正确方法是什么? 的相关文章

随机推荐