在Angularjs中,如何阻止用户访问某些页面?

In Angularjs, how to block user approaching to some pages?

我正在使用 ui-router$stateProvider 来显示视图。

本项目用于搭建管理页面,共有三个账号

我的目的是某些页面必须只显示给每个帐户。

所以,我用ng-if不显示在nav-bar,成功了。

但如果输入 url 并直接接近,则会显示这些页面。

有什么方法可以在 `configs' 中创建分支吗?或其他解决方法?

我觉得这个问题不需要post fiddle or plunker,

所以我刚刚把我的代码 configs.

$urlRouterProvider.otherwise('/admin/login');
$stateProvider
.state('root.for_a', {
    url: '/:brand_id/for_a',
    views: {
        'appContainer@': {
            templateUrl: 'views/for_a.html',
            controller: 'ForACtrl',
        }
    }
})
.state('root.for_b', {
    url: '/:brand_id/for_b',
    views: {
        'appContainer@': {
            templateUrl: 'views/for_b.html',
            controller: 'ForBCtrl',
        }
    }
})
.state('root.for_c', {
    url: '/:brand_id/for_c',
    views: {
        'appContainer@': {
            templateUrl: 'views/for_c.html',
            controller: 'ForCCtrl',
        }
    }
})

我会等待任何帅气或漂亮的程序员可以帮助我。 :)

提前致谢。

我为克服类似问题所做的是,在 'ui-view' 标签上使用 'ng-if'。

 <ui-view ng-if="functionToEvaluatePermissions()"></ui-view>
 <span ng-if="!functionToEvaluatePermissions()"> You shouldn't be here. </span>