我正在使用此堆栈开发 Azure 应用程序:
(客户端)角/微风
(服务器) Web API/Breeze Server/Entity Framework/SQL Server
对于每个请求,我都想确保用户实际上有权使用服务器端代码执行该操作。我的问题是如何在 Breeze/Web API 上下文中最好地实现这一点。
最好的策略是:
修改 Web API 控制器并尝试分析 Breeze 请求的内容,然后再将其进一步向下传递?
修改 EFContextProvider 并为每个公开的方法添加授权测试?
将安全性全部移至数据库层并确保用户 GUID 和租户 GUID 是每个查询的必需参数,并且只返回相关数据?
其他一些解决方案,还是上述的某种组合?