【发布时间】:2017-08-28 10:40:42
【问题描述】:
场景是 AngularJS 1.6.5 SPA、c# WebAPI 和 Azure AD (AAD) 进行身份验证。我正在使用 Angular-ADAL 库来处理身份验证和 angular-route 来处理路由。奇怪的是,可以匿名的路由(即不需要路由定义中的requireADLogin: true)但需要转到后端(例如获取图像或从 API 获取数据),被 ADAL 拦截并且永远不会到达后端/API。
当我想要一条受保护的路线时,我的路线是这样定义的:
.when('/clasesDeDocumento', {
templateUrl: 'app/views/mantenedores/clasesDeDocumento/clasesDeDocumento.html',
controller: 'clasesDeDocumentoController',
controllerAs: 'vm',
requireADLogin: true,
title: "clases de documentos"
})
与上面类似,但在不受保护时没有requiredADLogin: true。
未指定 requireADLogin=true 属性的路由会自动添加到 anonymousEndpoints 数组中。
单击未受保护的链接不会将您带到 Azaure 身份验证页面,但是后端/API 请求会被拦截并引发错误。
我已经解决了这个问题(手动)添加一个anonymousEndpoints 数组,但对于更大的应用程序,这是不可行的。
有什么想法吗?
【问题讨论】: