假设我的模型在用户使用时具有权限主体,但在业务逻辑使用时不具有权限。将权利管理逻辑放在MVC软件体系结构中的位置
对于为例: 当一个创建项目A,它automaticaly创建项目B.如果他想创建一个
用户必须要创建一个正确或B。 但是,从A创建B时的业务逻辑不需要任何权限。
如果我将正确的系统放在业务逻辑中,我会得到对会话具有强大依赖性的类,如果登录用户没有权限,则A不能创建B.
如果我将权限管理放在控制器中,我觉得我的业务逻辑不安全,因为任何程序员都可能在创建项目之前忘记测试权限,并且不会停止,而且如果两个控制器都能够执行代码复制出于任何原因更新项目。
你会把权利管理放在哪里?
我可以创建控制器将使用的每个对象的继承,并实现权限限制,而业务逻辑可以访问对象本身。控制器创建UserA,UserB,而对象A直接创建一个B对象。 但是这听起来像我必须复制(继承)控制器中必须使用的每个业务逻辑对象,因此其中80%是可靠的。
你应该把你的类的具体例子。它是真的很难理解A和B类。是用户模型吗? –
你有中间件吗?你也可以使用服务来共享代码 – Farkie