我们正在考虑用微风js来构建企业应用程序。
微风的美妙之处在于我们可以直接从客户端浏览器执行查询。这允许基于用户输入构建动态查询,而无需加载不必要的数据。我发现,使用 Breeze,我们可以创建业务逻辑,在使用延迟加载策略时将数据传输/传输减少 1/10 甚至更多。使用这样的查询
微风万岁!!!
但是业务逻辑安全呢?例如,我们可以有一个存储库,我们可以在其中隐藏、隐藏和模糊我们的业务逻辑;然后使用 MVC Web API 控制器来调用那些存储库 C# 类。所以 Breeze JavaScript 与 WebAPi 控制器对话,而 WebApi 控制器与 C# 存储库对话。控制器将始终保持非常简单易读,但存储库最终可能会为使用该应用程序的公司提供大量业务逻辑。因此,例如,如果黑客使用 Google Chrome 开发人员的控制台检查 JavaScript 代码,他/她将看到的只有 GetCustomers()、GetProductsForThisId(54) 之类的内容。那里没有太多可以看到(或被盗)的信息。因为 90% 的业务逻辑将存在于服务器上的 C# 存储库中。
微风.js 是如何处理的?
如果我们开始将查询和业务逻辑“从控制器的 C# 转移到轻量级的 JavaScript”,我们必须考虑到我们的系统是基于成员资格的。我认为我们在 JavaScript 中向客户端公开的查询越多,我们的软件就越容易受到攻击,我们就越会告诉黑客如何破解我们的网站并可能窃取信息。