我目前正在学习Angular 2,我正在研究警卫.我理解它们是如何工作的但我不明白为什么它们比仅仅禁用你不希望用户使用的导航控件更可取?
在我看来,你可以在拥有这些控件的组件中做到这一点.如果有一个单独的类实现CanActivate
和CanDeactivate
接口来驱动该逻辑,你会得到什么?防护组件似乎为坚果增加了很多复杂性.
有人能解释我错过了什么吗?
答案很简单:没有看到链接并不意味着你不能去那里.
如果您在受保护的页面上,并为其添加了书签,该怎么办?然后在几天你没有访问它,你试图去那里?你不会看到任何按钮,但你有网址.
所以没有警卫你就可以在那里航行.
此外,应该在服务器端进行额外检查,用户获取数据取决于他们的角色,但这是另一个故事