Web services 在web服务中应在何处检查权限?

Web services 在web服务中应在何处检查权限?,web-services,architecture,Web Services,Architecture,我有一个建筑问题。我应该在哪里检查某些操作的用户权限 例如: 1) 在控制器中,我从视图中获取参数,并在中间模型中启动一个进程 2) 中间模型决定以任何方式转换和转换哪个参数,并通过模型修改或创建数据 3) 模型直接与数据库通信 您认为在“体系结构”中,检查权限(例如将某事物保存到数据库)的正确位置在哪里 实际上,我会在调用控制器之前进行授权检查,就像前面描述的那样(我真的需要更新那篇旧帖子)。最好是作为控制器实例的装饰器,这将基于控制器+方法对,为您提供对允许用户执行的操作的细粒度控制 您可能

我有一个建筑问题。我应该在哪里检查某些操作的用户权限

例如:

1) 在控制器中,我从视图中获取参数,并在中间模型中启动一个进程

2) 中间模型决定以任何方式转换和转换哪个参数,并通过模型修改或创建数据

3) 模型直接与数据库通信

您认为在“体系结构”中,检查权限(例如将某事物保存到数据库)的正确位置在哪里


实际上,我会在调用控制器之前进行授权检查,就像前面描述的那样(我真的需要更新那篇旧帖子)。最好是作为控制器实例的装饰器,这将基于控制器+方法对,为您提供对允许用户执行的操作的细粒度控制

您可能会考虑的另一点是在模板中使用的“授权查找”帮助函数,因为您可能需要向用户显示或隐藏某些UI元素,而用户不应该能够执行相关操作。执行前的控制器+方法检查仍将作为实际的保障措施,但它往往是生活质量的提高

不应将授权检查放在每个控制器或(甚至更糟的)模型层中,因为这会导致复制粘贴量过多,而当您想要更改授权系统的机制时,这反过来会导致错误并成为一个大问题