小编s s*_*rif的帖子

如何在angular4中发送带有响应头的“ X-CSRF-TOKEN”

我目前正在使用Angular4应用程序。现在,我要实现XSRF保护。在Response标头Cookie中,我得到“ XSRF-TOKEN”,并且需要在下一个Request标头Cookie中发送“ X-XSRF-TOKEN”。如Angular官方文档中所述,Angular正在处理此问题。但是就我而言,angular并没有处理它。因此,我创建了以下自定义XsrfInterceptor,以将“ X-XSRF-TOKEN”附加到响应头。

import { NgModule, Injectable } from '@angular/core';
import { Observable } from "rxjs/Observable";
import { HttpRequest, HttpHandler, HttpEvent, HttpXsrfTokenExtractor, HttpInterceptor } from "@angular/common/http";

@Injectable()
export class XsrfInterceptor implements HttpInterceptor {

    constructor(private tokenExtractor: HttpXsrfTokenExtractor) {
    }

    intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
        const headerName = 'X-XSRF-TOKEN';
        console.log("xsrf intercepter called");
        let requestToForward = req;
        let token = this.tokenExtractor.getToken() as string;
        console.log(token);
        if (token !== null) {
            requestToForward = req.clone({ setHeaders: {headerName: token } });
        }
        return …
Run Code Online (Sandbox Code Playgroud)

cookies interceptor csrf-protection x-xsrf-token angular

2
推荐指数
1
解决办法
4840
查看次数

使用 Angular 检测对 iframe 的点击

当用户单击弹出窗口外部时,我想关闭多选下拉弹出窗口。当用户单击 IFrame 外部时,它工作正常。但是当用户点击 iframe 弹出窗口时并没有关闭。我正在尝试添加一些补丁代码,但为此我需要检测 Iframe 上的点击事件。我看到了太多的例子,但没有得到很好的解决方案。

 @HostListener('click', ['$event.target'])
  onClick() {
    console.log('iframe clicked');
 }
Run Code Online (Sandbox Code Playgroud)

我已经尝试过上面的代码,但 onClick 方法没有调用 iframe 单击。

注意:我需要检测每个点击事件,而不仅仅是第一次点击。

javascript iframe typescript primeng angular

2
推荐指数
1
解决办法
7314
查看次数