首页 > 解决方案 > 基于角色的权限系统

问题描述

我以前从未这样做过,也无法在网上找到好的参考资料,所以我在问。我正在构建 Angular Web 应用程序并想创建一个角色 -> 权限系统。我已经roleGuard使用CanActivate,但我找不到一个好的方法来为它检查权限的逻辑。在令牌中存储权限或localstorage询问数据库我是否可以访问每个资源似乎有点愚蠢。有没有我还没有想到的可以使用的概念?

标签: angularangular8canactivate

解决方案


使用localStorage/sessionStorage绝对不是一个好主意。

我建议您在初始化根组件时进行 API 调用,将数据存储在您的一项服务的变量中,并在您的roleGuard. 使用这种方法,您将不会使用浏览器的存储,并且在您的应用程序初始化时只会有一个 API 调用。

即使用户在某个时候刷新了页面,初始化过程也会再次发生,所以只有一个 API。


推荐阅读