В Axon Перехватчики команд перехватывают любую команду. Для проверки разрешений мне нужно основывать свое решение на типе команды, чтобы увидеть, разрешена ли она в текущем контексте.
@Override
public BiFunction<Integer, CommandMessage<?>, CommandMessage<?>> handle(List<? extends CommandMessage<?>> messages) {
return (index, command) -> {
// Check permissions
return command;
};
}
Обычно я бы предпочел зарегистрировать перехватчик для каждого типа команды и обрабатывать проверки разрешений в выделенных объектах. Как бы я сделал это с Axon? Нужно ли мне иметь загрузку instanceof
операторов if в одном перехватчике? У кого-нибудь есть хороший пример проверки разрешений с помощью Axon?