我正在以一种通用的方式进行身份验证/授权,但我有一个问题,系统的一些行为依赖于用户角色,一个用户可以有多个角色。
它不仅关系到用户可以/不能做某些动作,而且每个用户角色的动作本身都会发生变化,每个角色都有大量的元数据,无法实现如何保持内聚力。
如果我把安全性和业务结合起来,耦合就会很强,所有的东西都会变得杂乱无章,如果分别为每一个都创建表,我会得到两倍的实体,我也会得到杂乱无章的东西。
元数据的一小部分是:
一名初级员工只能为一个客户的一项工作构建基本部分,或者让同一客户中的另一名初级员工放弃基本工作
如果主人可以建造新的基本部件,并修复/管理来自一个客户的所有初级人员制造的建筑。
如果经理可以为所有客户做所有的事情,并控制主要的工作。
对于每个工作,一个初级需要选择一个相关的主人,一个初级需要选择一个管理者,当一个初级放弃工作时,他成为所有者,但当主人固定一个工作时,创建者初级保留所有权。
发布于 2011-11-02 03:16:06
为每个实体创建一个表,直到到达一棵树,每次出现一个新的角色时创建一个新的表,然后使用这个结构来控制系统。将用户放在user表上,员工放在employees表上,每个用户都有一个密码和登录,之后必须使用员工密码和登录。它解决了你的问题。
https://stackoverflow.com/questions/7969366
复制相似问题