实施角度守卫的重要性

时间:2017-03-20 19:11:54

标签: javascript angular

在我们的应用程序中,我们根据用户角色限制了路径(导航)。是否绝对有必要实施Angular Guards来提供/限制对路由的访问?

它是否以某种方式提供额外的安全性,而不是基于JavaScript / HTML / plain Angular中的用户角色限制访问(即通过显示和隐藏链接以及显示/隐藏数据)?

2 个答案:

答案 0 :(得分:4)

Angular Guards完全是路由问题。它们是阻止路由器导航到特定页面的元素,无论它们如何触发导航(通过链接,按钮或将url直接输入到位置栏)。

然而,与任何javascript框架一样,这种“安全性”并不是真正的安全性,而是更多的用户便利性。由于Web的性质,任何人都可以干扰客户端(即浏览器)上的任何数据/代码,因此,客户端javascript中实现的任何内容都不应被视为真正的安全性。您必须在后端系统上实施真正的安全检查。

另请注意,由于Angular Guards仅仅是Angular Router的关注点,那么如果您没有使用Angular官方路由器,那么它们就毫无意义。

答案 1 :(得分:0)

我写了一篇文章,其中解释了有关 Guards 和 Interceptor 等的所有内容 http://agdev.tech/2021/03/18/angular-authentication-interceptors-and-guards/ 还有一个 stackblitz 可能会有所帮助。