Задать вопрос
@Nulltiton

Как авторизируется первый пользователь БД?

Вопрос до безобразия глупый. Допустим, есть десктопное приложение которое работает с базой данных. В базе данных есть разделение по ролям. Для того, чтобы условный админ добавил условных менеджеров. Но кто и каким образом добавит админа? Через приложение его добавить не получится, так как некому пройти авторизацию. В базе данных его по идее тоже быть не должно, ведь после разработки программы и базы, а также тестирования оных, база должна поступать клиенту чистой и без записей. Тогда как там появится админ?
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 3
@nyqpblcTuk
Я не знаю этот язык программирования, ну идти по логике всех языков:

1. Например сделать дефолтного админа, с возможностью изменения пароля/логина.
Например
Login - admin
pass -admin

2. Импорт напрямую в БД.

3. Сделать регистрацию, и отдельный скрипт с изменением роли.
Ответ написан
Комментировать
yarkov
@yarkov
Помог ответ? Отметь решением.
Навскидку. Логика приложения устроена так, что если в БД пусто, то принимать первого пользователя как админа автоматически. Например WordPress. Давно не пользуюсь, но емнип при установке он позволяет зарегистрироваться пользователю как администратор. Portainer также делает.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Первого админа добавляет владелец (owner) системы. Дальше права должны раздаваться по иерархии. Если у админа есть "with admin option" - то он может соотв плодить новых админов и так далее.

Представить ситуацию что у системы нет овнера - невозможно. Ведь кто-то же платит за нее деньги?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Для того, чтобы в базе появился админ и менеджеры, там должна, как минимум, появиться таблица пользователей. Так что "чистой и без записей" база уже быть не может.
А где создаются таблицы, там они и запоняются дефолтными значениями (либо из коробки, либо из конфигуратора, запрашивающего эти самые значения в процессе установки).
В современных фреймворках, в частности, migration (прописанные кодом операции с базой) предполагают возможность seed (заполнения новых/измененных таблиц данными).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы