我有一个网站,我们的客户可以登录以查看他们自己的数据。每个客户只能看到他们自己的数据(当然),不同的用户可以访问一个客户的不同页面。此外 - 编辑必须查看所有数据。
我想根据角色设置访问权限,以确定用户是哪个客户的成员,以及用户可以访问哪些页面。
团体:
- 客户1角色
- 客户2角色
- TicketViewer 角色
- 变更请求角色
用户:
- Cust1_LowLevelUser。角色:Customer1Role、TicketViewerRole
- Cust1_HighLevelUser角色:Customer1Role、TicketViewRole、ChangeRequestRole
- Cust2_LowLevelUser。角色:Customer2Role、TicketViewerRole
- Cust2_HighLevelUser角色:Customer2Role、TicketViewRole、ChangeRequestRole
页面结构
我们创建了一个页面树,每个客户都有自己的“根页面”,只能访问他们各自的角色。在该节点下方,我们创建数据特定页面的实例,这些页面具有基于用户角色和客户角色的访问权限。
Customer1 (Customer1Role)
|--TicketsForCust1 (Customer1Role, TicketViewerRole)
|--ChangeRequestsForCust1 (Customer1Role, ChangeRequestRole)
Customer2 (Customer2Role)
|--TicketsForCust2 (Customer2Role, TicketViewerRole)
|--ChangeRequestsForCust2 (Customer2Role, ChangeRequestRole)
燃烧的问题:
我们如何防止用户Cust2_HighLevelUser看到ChangeRequestsForCust1
?
EPiServer 仅检查是否有任何角色足以授予访问权限,并且由于用户属于ChangeRequestRole,因此无论客户特定角色如何,他们都将被授予访问权限。是否可以让 EPiServer 同时检查客户角色和页面角色?
还是我必须从另一个角度看待这个?如果您遇到此问题并以另一种方式解决,请告诉我。
对不起,很长的帖子,但希望我能明白我的意思。