我来自Asp.Net MVC世界,用户试图访问他们未授权的页面会自动重定向到登录页面.
我试图在Angular上重现这种行为.我来到@CanActivate装饰器,但它导致组件根本没有渲染,没有重定向.
我的问题如下:
我正在使用Angular 2开发一个网站.有没有办法使用Angular 2禁用或触发浏览器后退按钮?
谢谢
我目前有一个Angular 2应用程序正在运行,如下所示:
访问该站点时,App.component被引导.App.component的模板具有所有组件标记(例如menu.component,search.component和router-outlet).
我基本上需要的是:目前访问者被直接重定向到登录页面,因为用户需要登录.他仍然能够看到菜单和仅适用于登录用户的所有组件.添加额外模板层的最佳策略是什么,因此未登录的用户会被重定向?
保证Angular 2组件/路由的常用推荐方法似乎是使用@CanActivate(),如下所示:
http://youknowriad.github.io/angular2-cookbooks/stateless-authentication.html
如果你只有几个组件,这可以正常工作,但是有更好的方法可以集中所有这些吗?
每个组件都有一个共同的基类吗?(有关如何执行此操作的任何示例?).我们能不能有一个自定义@CanActivate(),有点像@ProtectMyApp()?(例子?)
我基本上试图阻止@CanActivate()为每个组件复制+粘贴相同的代码.
(如果这些问题没有意义,请继续道歉,仍在学习Angular)
谢谢