【发布时间】:2011-11-07 20:33:27
【问题描述】:
我正在编写一个具有一些 ACL 要求的 Web 应用程序:用户可以更改某些项目,某些项目可能由多个用户编辑,管理员可以编辑任何内容,而经理可以编辑她组织内的所有内容等。
我正在使用 Play!框架,从Secure 模块的外观来看,似乎将授权问题放在控制器中。但是,在我看来,授权问题是业务逻辑的一部分,因此应该在模型中。此外,我开始在需要重构的控制器中看到重复的逻辑。
另一方面,向模型添加授权意味着我必须通过某种方式从模型中获取当前用户,这似乎不正确。或者,我可以为每个模型方法添加一个“current_user”参数,但这似乎更糟。
那么常见的做法是什么?我可以/应该将授权码放在模型中,还是保留在控制器中?
【问题讨论】:
标签: model-view-controller authorization playframework