Я использую многоуровневую систему аутентификации с моим приложением AngularJS (Angular 1.6.4).
Это означает, что у пользователя есть несколько разрешений. В зависимости от того, какое разрешение он имеет, он может видеть или нет страницу, к которой относятся разрешения.
Мне уже удалось скрыть все необходимые элементы HTML, относящиеся к этому экрану, в зависимости от уровня разрешений. Но теперь у меня возникла небольшая проблема с защитой самого маршрута.
По сути, я хочу, чтобы пользователь перенаправлял на мою целевую страницу, если его разрешения не содержатся в массиве разрешений, предоставленных ему при входе в систему.
Вот что я сделал:
$rootScope.$on("rebalancing", () => {
if (user.permissions !== Role.ViewConnectors || user.permissions !==
Role.ManageConnectors) {
redirectTo(application.APP)
}
});
Но, похоже, он ничего не делает. Не могли бы вы мне помочь. Я понимаю, что это действие нужно проверить, прежде чем все остальное. Итак, rootScope
казалось хорошим началом.
Подробнее
Пользователь предоставлен ReduxStore, который я передаю. application.APP
- домашний маршрут приложения. И redirectTo, это пользовательская утилита для redirectTo(/etc...)