Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 安全模式与业务合并_Security_Design Patterns_Database Design_Aop - Fatal编程技术网

Security 安全模式与业务合并

Security 安全模式与业务合并,security,design-patterns,database-design,aop,Security,Design Patterns,Database Design,Aop,我用一种通用的方式进行身份验证/授权,但我有一个问题,系统的某些行为取决于用户角色,一个用户可以有多个角色 这不仅关系到用户可以/不能执行某些操作,而且每个用户角色的操作本身也会发生变化,每个角色都有大量的元数据,无法实现如何保持内聚 如果我将安全性与业务合并,耦合度会很高,并且都会变得很混乱,如果为每一个单独创建表,我会得到一些实体加倍,我也会变得很混乱 元数据的一小部分是: 如果初级员工只能为一个客户的一项工作构建基本部件,或在同一客户中由另一初级员工放弃基本工作,则为一名员工 If mas

我用一种通用的方式进行身份验证/授权,但我有一个问题,系统的某些行为取决于用户角色,一个用户可以有多个角色

这不仅关系到用户可以/不能执行某些操作,而且每个用户角色的操作本身也会发生变化,每个角色都有大量的元数据,无法实现如何保持内聚

如果我将安全性与业务合并,耦合度会很高,并且都会变得很混乱,如果为每一个单独创建表,我会得到一些实体加倍,我也会变得很混乱

元数据的一小部分是:

如果初级员工只能为一个客户的一项工作构建基本部件,或在同一客户中由另一初级员工放弃基本工作,则为一名员工

If master可以构建新的基本部件,并修复/管理来自一个客户的所有下级所构建的部件

若经理能为所有客户做一切,并控制主工作


对于每一项工作,一个初级需要选择一个与主相关的,一个初级需要选择一个管理者,当一个初级被放弃工作时,他成为所有者,但当主修复一个工作时,创造者初级保留所有权

为每个实体创建一个表,直到到达一个树,每次出现一个新角色时创建一个新表,然后使用此结构控制系统。将用户保留在用户表中,员工保留在员工表中,每个用户都有一个密码和登录名,之后必须使用员工密码和登录名登录。这就解决了你的问题。

谢谢你的努力,但这真的会把一切弄得一团糟,我正在寻找可扩展的通用工具。