в соответствии с документом на https://docs.corda.r3.com/shell.html#permissions для запуска потока требуются разрешения:
- InvokeRpc.startTrackedFlowDynamic
- InvokeRpc.registeredFlows
- InvokeRpc.wellKnownPartyFromX500Name
- StartFlow.net.corda.finance.flows.CashPaymentFlow (пример из финансового приложения)
Но когда этот набор разрешений дан и доступ к оболочке осуществляется через SSH, кажется, что кроме упомянутого потока, CashIssueFlow также может быть запущен.
Это не должно происходить, поскольку дается разрешение на выполнение только CashPaymentFlow. Позже, когда InvokeRpc.startTrackedFlowDynamic был удален из набора разрешений, казалось, что все работает правильно. И при повторном добавлении все потоки могут быть запущены независимо от предоставленного разрешения потока.
Почему так происходит, что InvokeRpc.startTrackedFlowDynamic заставляет все потоки выполняться независимо от упомянутого разрешения, а его удаление заставляет все работать нормально?