我以前从未这样做过,并且在网上找不到好的参考资料,所以我在问。
我正在构建 Angular Web 应用程序并希望创建一个角色 -> 权限系统。
我已经用 roleGuard
制作了 CanActivate
,但我找不到一种很好的方法来制作检查权限的逻辑。
将权限存储在令牌或 localstorage
中并询问数据库我是否可以访问每个资源似乎有点愚蠢。有没有我还没有想到的可以使用的概念?
答案 0 :(得分:0)
使用 localStorage
/sessionStorage
绝对不是一个好主意。
我建议您在初始化根组件时调用 API,将数据存储在您的一项服务的变量中,并在您的 roleGuard
中使用。使用这种方法,您将不会使用浏览器的存储空间,并且在您的应用初始化时只会调用一个 API。
即使用户在某个时候刷新页面,初始化过程也会再次发生,所以只有一个 API。