Я кодировал систему представления статей в компоновщике hyperledger, которая должна в основном позволять участнику типа «Автор» создавать ресурс «Статья», который должен проверяться рецензентом (другой атрибут «Автор» isReview = true).
Вопрос в том, что, следуя логике ACL, Автор может изменять свои данные, и это включает атрибут, который определяет, являются ли они рецензентом.Этого нельзя допустить, потому что автор становится рецензентом только тогда, когда он успешно публикует статью.
Мой вопрос заключается в том, нужно ли мне каким-то образом ограничить это в логике javascript hyperledger или я могу замаскировать это вклиентское приложение, если оно может быть выполнено на клиенте, может ли хакер использовать этот «пробел»?
Я знаю, что могу сделать это в клиентском приложении, но я не знаю последствий этоготакой подход, поскольку все системы должны работать на серверной стороне из-за проблем безопасности.
.cto
participant Author identified by email {
o String authorId optional
o String email
o String firstName
o String lastName
o Boolean isReviewer default=false
o Double points default=0.0
o Double reputation default=0.0
}
.acl
rule AuthorCanUpdateData {
description: "Allow all author access to all resources"
participant(m): "org.dasp.net.Author"
operation: ALL
resource(v): "org.dasp.net.Author"
condition: (v.getIdentifier() == m.getIdentifier())
action: ALLOW
}
Iнадеялся определить, какой атрибут объекта участник может изменить или нет.но я не нашел ничего из этого, просто ЧИТАТЬ, ОБНОВИТЬ, СОЗДАТЬ И ВСЕ