我正在try 使用KeyClope实现相当简单的基于角色的客户端应用程序(VueJS多页应用程序)控制用例.
如图所示,我在一个领域中有三个不同的角色和三个不同的客户机
所以我的主要目标是,
- 角色为
Viewer
的用户只能从log-in到Viewer Application
.如果同一用户试图访问Operator Application
或Admin application
,那么KeyClope应该简单地拒绝该用户这样做. - 对于角色为
Admin
和Operator
的用户,应该遵循相同的规则.拥有Admin
个角色的用户应该能够通过KeyClope访问这些应用程序中的任何一个.
为了实现这个用例,我try 了以下方法,
- 首先,通过适当的角色映射到用户,并在客户端创建角色.在本例中,我先创建领域级角色,然后创建客户端级角色,然后将适当的角色分配给用户部分中创建的用户.
- 启用
Authorization
.在策略中,我删除了允许所有用户访问客户端的默认策略.并创建User
策略和Client
策略来限制对客户端应用程序的访问 - 还try 了基于
Group
的授权策略.在本例中,我创建了一个具有客户端角色的组,然后将用户分配给这些组.并从Authorization
组策略中启用它们.
但不幸的是,这些都不起作用.这意味着我的Viewer
角色用户可以将log-in添加到我的管理应用程序中.这很奇怪.