Dev*_*von 10 security separation-of-concerns repository-pattern
我正在尽我所能来设计我的网络应用程序与层之间的良好分离.我正在使用存储库模式,因此有一个SQLObjectRepository,它由我的Web服务调用,由我的Web前端调用.
在我的对象模型中,用户与一个或多个区域相关联,这些区域应该过滤他们应该有权访问的对象.我的问题是,当我查询对象时,是否将代码放在服务中以设置对象的权限,或者该代码是否应该存储在存储库中?如果用户是2个区域的成员,我应该将用户作为参数传递给服务,还是应该将用户的区域传递给服务?
我会:
以可应用于任何您喜欢的地方的方式编写安全检查。这样您就可以随着需求的变化进行重构。
如果安全检查确实始终适用,请将其放置在存储库层(或者更好,如果您的语言支持它,则放在某个方面),以便多个服务在使用相同存储库时将共享共同的安全性。否则将其放置在服务中(或作用于服务的方面)。
将整个用户对象传递给安全检查机制:
| 归档时间: |
|
| 查看次数: |
866 次 |
| 最近记录: |