如何设计B端产品的角色权限?

1、功能权限与数据权限如何设计?

请先 登录 后评论

1 个回答

xxxxxa

不知道你哪个行业,我简单说下我B端产品的权限角色设计吧,希望互相学习(一个面向基层医疗机构的信息化管理系统)

采用RBAC0模型:

通过用户关联角色、角色关联权限的方法来间接地赋予用户权限。用户和角色是多对一关系,即:一个用户只充当一种角色,一种角色可以有多个用户担当。

为什么这样做:

我们系统的功能解耦、每个菜单对应一种操作(如挂号、发药、进销存、收费等都是分开的菜单,且 都尽量减少关联性,当患者的诊疗数据没办法解耦,但用户操作起来都是独立的),且对于基层医疗系统来说,系统使用人员较少、岗位权限相对清晰,即使出现兼岗的情况,也可以通过增加一个角色增加一个权限的方式来为用户分配权限。

这样做的好处是:

1、职能划分相对谨慎。对于角色的权限调整不仅仅只影响单个用户,而是会影响关联此角色的所有用户,管理员下发/回收权限会更为谨慎;

2、便于权限管理。对于批量的用户权限调整,只需调整用户关联的角色权限即可,无需对每一个用户都进行权限调整,既大幅提升权限调整的效率,又降低漏调权限的概率;

但也有一个不同的地方,就是涉及到数据私密性和操作便捷性的地方,就是每个医生只能看到自己的患者,这里采用了一点RBAC1的一点设计方法(用户-组织-角色-权限),给医生赋予了一个组织,不过我们没有做在组织间的上下级,即使院长、超级管理员也是没有区分上下级的,所以医生所在组织就是他一个人。

这里做的目的:

1、医生只能看到自己的患者,别人看不到,保证了医生自己患者数据的私密性。

2、每个医生只有自己的患者,也方便他接诊,没有其他医生的患者数据的混乱。

请先 登录 后评论