【发布时间】:2018-06-30 21:50:11
【问题描述】:
我的应用中有一个基于 cookie 的身份验证系统,经过身份验证后,我可以使用 this._http.get(this.actionUrl, { withCredentials: true }) 成功调用我的 API
但我的问题是我还想控制对我的组件或路由的访问,但我不知道如何实现这一点。
提前致谢
【问题讨论】:
我的应用中有一个基于 cookie 的身份验证系统,经过身份验证后,我可以使用 this._http.get(this.actionUrl, { withCredentials: true }) 成功调用我的 API
但我的问题是我还想控制对我的组件或路由的访问,但我不知道如何实现这一点。
提前致谢
【问题讨论】:
你要找的是Angular Guards
我们可以使用四种不同的守卫类型来保护我们的路线:
CanActivate - 决定是否可以激活路由
CanActivateChild - 决定是否可以激活路线的子路线
CanDeactivate - 决定是否可以停用路线
CanLoad - 决定一个模块是否可以延迟加载
一个简单的canActivate 和canDeactivate guard
现场示例 - https://rahulrsingh09.github.io/AngularConcepts/guard
【讨论】: