В Angularjs, как заблокировать доступ пользователя к некоторым страницам?

Я использую ui-router а также $stateProvider показывать взгляды.

Этот проект предназначен для создания страницы администратора, и в нем три аккаунта.

Моя цель состоит в том, чтобы некоторые страницы отображались только для каждой учетной записи.

Итак, я использовал ng-if не показывать на nav-bar, это было успешно.

Но если набрать его URL-адрес и обратиться непосредственно, эти страницы были показаны.

Есть ли способ сделать ветку в "конфигах"? или другие способы решить это?

Я думаю, что этот вопрос не нужно размещать скрипку или поршень,

так что я просто положил свой код 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',
        }
    }
})

Я подожду, когда любой красивый или симпатичный программист сможет мне помочь.:)

Заранее спасибо.

1 ответ

Решение

Чтобы устранить подобную проблему, я использовал теги 'ng-if' для тегов 'ui-view'.

 <ui-view ng-if="functionToEvaluatePermissions()"></ui-view>
 <span ng-if="!functionToEvaluatePermissions()"> You shouldn't be here. </span>
Другие вопросы по тегам