小编Lui*_*ais的帖子

HttpInterceptor 上的递归太多

在我的应用程序中,身份验证基于 JWT 令牌。为了使它们无效,我在 JWT 中放置了一个随机安全字符串,并在数据库中放置了与拥有令牌的用户相关联的完全相同的字符串。这两个必须匹配才能使 JWT 有效。当用户注销时,API 会生成另一个随机字符串并替换数据库中的旧字符串,从而使 JWT 对该用户无效,因为 de JWT 中的字符串与数据库的字符串不匹配。

为此,我需要一个拦截器,在对 API 的每个请求之前发出一个静默请求,以检查随机字符串是否相等。基于这个问题,我的拦截器工作但行为怪异,发出无限请求并抛出“递归过多”错误。

我究竟做错了什么?

拦截器

 import { TokenService }     from './token.service';
 import { Router }           from '@angular/router';
 import { HttpInterceptor,
     HttpRequest, 
     HttpHandler, 
     HttpEvent, 
     HttpClient,
     HttpHeaders }       from "@angular/common/http";
 import { Injectable }       from "@angular/core";
 import { Observable }       from "rxjs/Observable";
 import { SharedService }    from "./shared-service.service";
 import { CookieService }    from 'ngx-cookie-service';

 @Injectable()

export class AuthInterceptor implements HttpInterceptor {


constructor(private sharedService : SharedService,
            private httpClient …
Run Code Online (Sandbox Code Playgroud)

interceptor typescript angular5

3
推荐指数
1
解决办法
553
查看次数

Angular 4 - 使用 JSON 数据填充表单不起作用

我必须编辑来自客户端的数据。我有一个表单,在其中单击一个按钮并重定向到一个表单,我希望它显示我刚刚单击的该客户端的数据。\n事实是,当我尝试将每个键与其值关联时,表单生成器不起作用。

\n\n

但是,如果我自己写下名称(例如硬编码),则表单生成器的工作方式就像一个魅力!

\n\n

编辑组件.ts

\n\n
import { FuncionForm } from \'./../../interfaces/funcion_form\';\nimport { FuncionService } from \'./../../services/funcion.service\';\nimport { Combobox } from \'./../../interfaces/combobox\';\nimport { ComboboxService } from \'./../../services/combobox.service\';\nimport { Formulario } from \'./../../interfaces/formulario\';\nimport { HttpClient } from \'@angular/common/http\';\nimport { SharedService } from \'./../../services/shared-service.service\';\nimport { Component, OnInit } from \'@angular/core\';\nimport { Funcion } from \'../../interfaces/funcion\';\nimport {\n  FormGroup,\n  Validators,\n  FormBuilder,\n  FormControl,\n  FormsModule,\n  ReactiveFormsModule\n} from \'@angular/forms\';\n\n@Component({\nselector: \'app-editar-funcion\',\ntemplateUrl: \'./editar-funcion.component.html\',\nstyleUrls: [\'./editar-funcion.component.css\']\n})\nexport class EditarFuncionComponent implements OnInit {\n\nfuncionCD:                number;\ndadosFormulario :         FuncionForm;\nfuncionFormGroup:         FormGroup;\ncomboboxProfisArray :     Combobox;\ncomboboxAgrupProfArray :  Combobox;\ncomboboxAgrupCategArray : Combobox;\ncomboboxNacionArray …
Run Code Online (Sandbox Code Playgroud)

forms json typescript angular

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

标签 统计

typescript ×2

angular ×1

angular5 ×1

forms ×1

interceptor ×1

json ×1