首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Adal.js与$stateProvider的结合

Adal.js与$stateProvider的结合
EN

Stack Overflow用户
提问于 2015-10-12 12:18:47
回答 2查看 1.6K关注 0票数 3

我们有一个AngularJS SPA,我们一直在使用Adal.js进行身份验证。到目前为止,我们使用的是$routeProvider (ngRoute模块)来处理路由,但由于最近的一些需求,我们需要从路由提供者的方法出发,采用$stateProvider (在ui-路由器中)。但是,out身份验证机制需要保持相似。adal.js能以类似于$stateProvider的方式与$routeProvider一起工作吗?

我们在路由中使用requiredADLogin参数来指定哪些路由需要Azure身份验证。代码如下所示:

代码语言:javascript
复制
app.config(['$routeProvider', '$httpProvider', 'adalAuthenticationServiceProvider', function ($routeProvider, $httpProvider, adalProvider) {

$routeProvider
    .when('/', {
        controller: 'homeCtrl',
        templateUrl: '/Templates/home.html',
        requireADLogin: true
    })
    .otherwise({
        //template: "Invalid"
        redirectTo: '/'
    });

如果更改为$stateProvider,下面这样的代码将是有效的:

代码语言:javascript
复制
app.config(function($stateProvider, $urlRouterProvider) {
           $stateProvider
        .state("dashboard", { url: "/dashboard", templateUrl: "Templates/dashboard.html" })
            .state("health", { 
                parent: "dashboard", 
                url: "/agent_tier1", 
                templateUrl: "Templates/health.html",
                requireADLogin: true 
        })
});

或者是否可以将requireADLogin属性置于父状态。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-13 21:24:48

adal.js将与ui路由器一起工作,requireADLogin应该处于您想要保护的每个状态,而不仅仅是父状态。

票数 3
EN

Stack Overflow用户

发布于 2017-10-20 17:45:13

如果您使用的是组件路由器,ADAL将无法工作:

https://github.com/AzureAD/azure-activedirectory-library-for-js/issues/283

任何试图升级一个低级别的前置2.0应用程序到打字稿的人都会受到警告,ADAL将是一个挑战。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33080961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档