gpt4 book ai didi

breeze - breeze.js 中的服务器端验证和安全性

转载 作者:行者123 更新时间:2023-12-01 11:44:16 27 4
gpt4 key购买 nike

我正在尝试使用 breeze.js 保存一些实体。 Breeze 工作正常,它会根据需要保存所有更改。但是,我无法验证并确保授权是服务器端的。从我目前收集到的信息来看,我猜想做到这一点的唯一方法是检查传递到保存包中的 JObject 并在服务器端构建相应的对象。我必须这样做(而不是依赖 Breeze.SaveChanges,因为我在服务器端有一些逻辑)。我该怎么做呢?以及如何构建 Breeze.WebApi。保存结果?也欢迎提出解决此问题的任何其他方法

最佳答案

这应该通过实现自定义 EFContextProvider 来完成。

下面的代码为 Northwind 数据库实现了自定义 EFContextProvider,直接取自 documentation on the breeze.com website .

    public class NorthwindContextProvider: EFContextProvider<NorthwindIBContext>  {    public NorthwindContextProvider() : base() { }    protected override bool BeforeSaveEntity(EntityInfo entityInfo) {      // return false if we don’t want the entity saved.      // prohibit any additions of entities of type 'Role'      if (entityInfo.Entity.GetType() == typeof(Role)        && entityInfo.EntityState == EntityState.Added) {        return false;      } else {        return true;      }   }    protected override Dictionary<Type, List<EntityInfo>> BeforeSaveEntities(Dictionary<Type, List<EntityInfo>> saveMap) {      // return a map of those entities we want saved.      return saveMap;    }  }

关于breeze - breeze.js 中的服务器端验证和安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16893169/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com