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