繁体   English   中英

Angular应用程序-仅对经过身份验证的用户进行访问

[英]Angular app - restrict access to only authenticated users

我有一个针对Azure Active Directory(AAD)进行身份验证的Angular4应用程序。 我没有任何登录页面,因为它是由AAD管理的。 我需要的是:如果对该站点的任何请求都未经身份验证,则将其重定向到AAD登录页面。 我知道如何保护路线,但是如何保护整个Angular App?

为了限制在Angular 4应用程序中使用Azure AD的访问权限,我们可以使用Benbaran提供的Adal-Angular 4库

您可以参考代码示例adal-angular4-example来集成此库。

并且请注意,当您遵循此代码示例时,会有一个小问题。 app.component.ts中使用adal.Config ,我们需要添加以下行来导入它:

import { adal } from 'adal-angular';

最后我检查了用户是否在AppModule ctor中通过了身份验证:

export class AppModule {
    constructor(private readonly _authService: AuthService) {
        this.useAuthentication();
    }

    private useAuthentication() {
        if (!this._authService.isAuthenticated) {
            this._authService.signIn();
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM