Angular应用 - 限制只有经过身份验证的用户才能访问

时间:2017-06-05 10:09:06

标签: angular azure authentication azure-active-directory

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

2 个答案:

答案 0 :(得分:0)

要限制在Angular 4应用程序中使用Azure AD的访问权限,我们可以使用benbaran提供的Adal-Angular 4 library

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

请注意,当您按照此代码示例时,存在一个小问题。在使用app.component.ts的{​​{1}}中,我们需要添加以下行来导入它:

adal.Config

答案 1 :(得分:0)

我最终在AppModule ctor中检查用户是否已经过身份验证:

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

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