首页 > 解决方案 > 关闭身份验证时的默认用户(Angular)

问题描述

我有一个带有身份验证的项目,但现在它已关闭。我需要将管理员用户设置为默认用户,并且当身份验证不起作用时不要从基础检查它。我知道应该进行检查并设置默认用户,get(): Observable<User> {}但不明白如何。非常感谢您的帮助!这是我的代码:

身份验证.server.ts

import { User } from '../shared/models/user';

@Injectable()
export class AuthenticationService {

  constructor(private http: HttpClient) { }
  get(): Observable<User> {
    return  this.http.get<User>('api/user')
  }
}

用户.ts

import { UserRole } from '../user-role.enum';
export class Role {
  constructor(id: number, name: UserRole) {}
}

export class User {
  constructor(
    role: Role = null
}

用户角色.enum.ts

export enum UserRole {
  Admin = 'Admin',
  Manager = 'Manager',
  User = 'User'
}

标签: angularhttpauthentication

解决方案


您的服务没问题,但您已经在将使用此服务的组件上执行此操作。

在组件上,首先创建一个用户来接收数据:

public returnedUser: User = new User(); // public if you want to use on template

然后,将此代码放入组件的 ngInit 中以使用该服务并订阅它以接收来自 API 的信息。

this.AuthenticationService.get()
      .subscribe((data) => {
        data = this.returnedUser = data;
      });

最后,您将在返回的用户对象中获取您的用户。

我认为这就是你所需要的。


推荐阅读