在RBAC中,用户可以拥有多个角色。比如,名为Abe的用户是Roles,Driver和Mechanic的一部分。安倍想检查卡车是否需要OilChange(只有机械师可以做的操作)
选项A)当Abe登录到应用程序(移动应用程序或网页)时,后端会对Abe进行身份验证并确定他有两个角色。应用程序迭代检查每个角色,并查看哪个角色有权执行该操作。
选项B)当Abe登录到应用程序(移动应用程序或网页)时,他会选择角色。并且后端对Abe进行身份验证,并使用Abe发送的角色来检查他是否具有执行该操作的权限。
或者是否有更好的方法为用户执行的操作选择角色?
感谢。
答案 0 :(得分:0)
从用户体验的角度来看,选项A更好。如果安倍必须执行各种任务,那么他可能必须退出并在不同角色下多次登录,增加他的认知负担并可能在完成任务之间延迟。
从开发的角度来看,如果您现在必须以稍微复杂的方式在后端跟踪用户权限的唯一原因,选项B可能会稍微容易一些,但我在很大程度上认为这可以忽略不计
出于这些原因,我个人会选择选项A.