你好 evreyone 所以我正在做一个有角度的 sprigboot 项目,因为我正在使用 jwt 进行身份验证和基于角色的授权我在做有角度的部分时遇到了这个错误我保留了 jwt 和角色本地存储以及何时想要获得登录人员的角色这就是我得到的
这是登录组件的 typeScript 代码:
import { Component, OnInit } from '@angular/core';
import { NgForm } from '@angular/forms';
import { Router } from '@angular/router';
import { AgentService } from '../_services/agent.service';
import { AgentAuthenService } from '../_services/agent-authen.service';
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {
constructor(private agentSer: AgentService, private agentAuthenSer: AgentAuthenService){}
ngOnInit():void{}
connect(loginF:NgForm){
this.agentSer.login(loginF.value).subscribe((Response:any) =>
{console.log(Response.token);
console.log(Response.agent.role)},
(Error)=>{
console.log(Error)});
}
}
这是负责与本地存储通信的身份验证服务的类型脚本:
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class AgentAuthenService {
constructor() { }
public setToken(token:string){
localStorage.setItem("token",token);
}
public getToken():string{
return localStorage.getItem("token");
}
public setRole(role:[]){
localStorage.setItem("role", JSON.stringify(role));
}
public getRole(): []{
return JSON.parse(localStorage.getItem("role"));
}
public clearStorge(){
localStorage.clear();
}
public logged(){
return this.getRole() && this.getToken();
}
}