【发布时间】:2019-05-22 19:42:14
【问题描述】:
我正在使用多层身份验证系统和我的 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...)的自定义实用程序
【问题讨论】:
-
通常在路由配置中使用解析函数来中止加载未经授权的路由。
标签: javascript angularjs redirect angularjs-directive