什么是在Angular 2中实现ACL /基于文件的最佳方法?
简而言之,我的情况是这样的:角色是动态的,基于客户端可以配置也可以是动态的权限。
我需要防止用户访问他未经授权的特定资源。为此,我想使用Angular的守卫概念。通过CanActivate守卫,我可以根据我将放在每个路由中的信息设置是否允许用户通过。这些信息将是该路由所涉及的资源的名称。当我到达守卫时,我可以将其与他的角色进行比较,查看他的角色是否有权访问此功能以及是否允许导航。
但是这会遇到两个问题:
1-如何将用户重定向到他有权限访问的资源?我必须列出路由文件并查找与他的角色兼容的人,然后重定向到那里吗?
2-如何禁用它无法查看的组件?例如,它可以访问列表页X,但无法创建新项,因此我需要删除“创建某物”按钮。或者,如何针对包含某些角色但不适用于其角色的div元素执行此操作?
我想知道最好如何在Angluar生态系统中处理这种情况。
谢谢。
简而言之,我的情况是这样的:角色是动态的,基于客户端可以配置也可以是动态的权限。
我需要防止用户访问他未经授权的特定资源。为此,我想使用Angular的守卫概念。通过CanActivate守卫,我可以根据我将放在每个路由中的信息设置是否允许用户通过。这些信息将是该路由所涉及的资源的名称。当我到达守卫时,我可以将其与他的角色进行比较,查看他的角色是否有权访问此功能以及是否允许导航。
但是这会遇到两个问题:
1-如何将用户重定向到他有权限访问的资源?我必须列出路由文件并查找与他的角色兼容的人,然后重定向到那里吗?
2-如何禁用它无法查看的组件?例如,它可以访问列表页X,但无法创建新项,因此我需要删除“创建某物”按钮。或者,如何针对包含某些角色但不适用于其角色的div元素执行此操作?
我想知道最好如何在Angluar生态系统中处理这种情况。
谢谢。