場景是AngularJS 1.6.5 SPA,用於驗證的c#WebAPI和Azure AD(AAD)。我正在使用Angular-ADAL庫來處理認證和角路由來處理路由。奇怪的是,路由可以是匿名的(即不需要路由定義中的requireADLogin: true
),但需要到後端(例如獲取圖像或從API獲取數據),被ADAL攔截並且從不到後端/ API。Angular ADAL需要驗證未驗證的路由
我的路由定義像這樣,當我想保護的路徑:
.when('/clasesDeDocumento', {
templateUrl: 'app/views/mantenedores/clasesDeDocumento/clasesDeDocumento.html',
controller: 'clasesDeDocumentoController',
controllerAs: 'vm',
requireADLogin: true,
title: "clases de documentos"
})
而與上述類似,但沒有requiredADLogin: true
時不受保護。
按照documentation:不指定requireADLogin = true屬性
路由被自動添加到anonymousEndpoints陣列。
點擊一個不受保護的鏈接不會將您帶到Azaure認證頁面,但後端/ API請求會被攔截並引發錯誤。
我已經解決了這個問題(手動)添加一個anonymousEndpoints
數組,但對於較大的應用程序來說,這是不可行的。
任何想法?