MVC + SOA 应用程序的哪一层应包含权限强制

本文关键字:一层 包含 权限 SOA 应用程序 MVC | 更新日期: 2023-09-27 18:37:11

我希望获得有关哪个层最适合在应用程序中保存权限实施(视图、控制器、服务、模型)的意见或最佳实践

例如,知道 MVC 只是/可能只是服务层的另一个使用者,这是否表明权限可能不会在控制器和/或视图级别强制执行?

MVC + SOA 应用程序的哪一层应包含权限强制

像任何事情一样,这取决于你,并且是有争议的,取决于意见。如果它适合您,那就去做吧。

现在,在我看来,我喜欢把它放在控制器中。为什么?

  1. Microsoft已经提供了在那里执行此操作的工具。包括数据注释和那个 IPrincipal 的东西。

  2. 控制器是应用的入口。在入口处有锁是有意义的。

  3. 您的服务可以与应用程序用户分离,这意味着您可以在完全不同的应用程序中重用您的服务,该应用程序以不同的方式处理权限。