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