2016-06-21 8 views
0

С помощью Event Sourcing все отслеживается до самого начала, а также создание пользователя. В нашей системе мы создаем пользовательские и административные материалы по публичному API. У нас есть (довольно распространенное) правило безопасности: только пользователи Admin могут удалять пользователей и предоставлять привилегии другим пользователям, то есть делать их Admin.Кто создает самого первого пользователя admin в системе источников событий?

В случае ES, как бы вы предоставили систему сразу после чистой установки? Это может иметь место при выполнении тестовых интегральных тестов.

Извините за этот довольно философский вопрос :)

+0

Ты не можешь просто сделать что со сценариями, например, с незащищенным внутренним командным обработчиком? – plalx

ответ

0

Кто дает root доступ к корню?

Система событий, не имеющая событий, находится в ее состоянии, которое не обязательно является нулевым состоянием.

+0

Обычно вам необходимо предоставить такие учетные данные во время установки. Если я смотрю на другие сервисы, например, на mysql, я вижу, что вам нужно предоставить ROOT-пароль во время запуска. Что-то вроде этого может быть загружено во время запуска, но звучит как проблема безопасности. – Pepster

0

Вы хотите, чтобы вам нужна учетная запись администратора по умолчанию для создания других учетных записей? Если это так, просто запустить скрипт, который создает администратора по умолчанию, как часть процесса развертывания/инициализации

[UPDATE]

Вы можете вставить событие в EventStore через HTTP http://docs.geteventstore.com/http-api/3.7.0/writing-to-a-stream

+0

Таким образом, сценарий должен использовать другую логику домена, поскольку нормальный домен проверяет, имеет ли пользователь, создающий пользователя, разрешение на создание пользователя. – Pepster

+0

@Pepster yes Я бы обошел нормальный код проверки домена и, возможно, просто добавил администратор в базу данных – tomliversidge

+0

С помощью ES у вас должно быть событие для него, а затем просмотреть таблицы, которые могут соответствующим образом обновить. Интересно, можно ли это сделать только с помощью скрипта. – Pepster

 Смежные вопросы

  • Нет связанных вопросов^_^