我的应用程序允许根据用户角色访问内容。我为每个角色写了一个Router Guard。有些内容允许访问角色1或角色2或角色3。我应该如何在feature-routing.module.ts文件中写入canActivate声明?据我所知,如果我写Angular 2如何在同一路径上应用Or-Relationship上的多个警卫
canActivate:[Role1Guard, Role2Guard, Role3Guard]
如果有任何警卫返回false,则访问将被拒绝。但就我而言,如果任何一名警卫回复真实,我应该允许进入。怎么做?提前谢谢了!
最简单的解决方案是创建一个后卫,是以3个角色进去,这就是我的那一刻,Role1or2or3Guard做,但我喜欢一个更好的解决方案,我可以结合我现有的警卫...... – Seb
是的,我也想过这个解决方案。对于一种情况,这将起作用,并且很容易实现。问题只发生在当你想概括它......如果你有5个角色,并且每一个组合都是可能的,你需要一个机器人来写所有的守卫类..... –
是的,我知道,我有完全相同的问题...等待有人给你一个真正的解决方案;) – Seb