|
|
1
1
您的堆栈中的某些东西必须提供您正在讨论的逻辑,并且考虑到您的情况,它可能是您自己。您必须通过从数据源中读取来获取对象的当前持久化状态,以便进行比较。请记住,如果几个合法操作可以同时更新父对象及其集合,则必须非常注意定义事务粒度和代码的线程安全性。 这不是一个简单的问题,任何方式,可能有框架功能可以帮助,但我还没有找到解决这一问题的任何现实世界的实现,特别是在我有逻辑,试图区分合法和“黑客”数据。 您可以考虑修改架构,以便父级和子级在单独的操作中持久化。在您的情况下,这可能不合适,但您可能能够通过拆分持久性操作并提供面向儿童的安全性来获得更精细的事务处理,从而使您的黑客问题更易于管理。 祝你好运。我建议您在编写太多代码之前,先绘制一个详细的逻辑流程图。 |
|
|
2
0
我找到的最佳解决方案是管理手动创建的DTO。DTO只向客户机发送所需的数据。对于要在只读模式下设置的每个字段,我将根据我用DTO发送给客户机的密钥计算签名。 当我的DTO返回服务器时,我检查签名以确保我的只读字段没有更改(用返回字段重新计算签名,并将其与返回DTO的签名进行比较) 它允许我指定只读字段,并确保我的对象没有被黑客攻击。 |
|
|
Giffyguy · 如何限制在构造向量后调用'resize()'? 4 年前 |
|
|
vytaute · 返回表类型时Oracle函数中的类型错误 4 年前 |
|
|
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 4 年前 |
|
|
dev-chicco · Laravel系列寻找常见物品 4 年前 |
|
|
Mitch · Laravel-雄辩的单品合并系列 8 年前 |
|
|
Kieran · 为什么类X可以从集合继承<X> 8 年前 |
|
|
John · 如何在不返回集合本身的情况下返回集合的数据? 8 年前 |
|
|
Niklas Mertsch · 在泛型集合中实现移除(对象o) 8 年前 |