В моем приложении для Android с Firebase as backend Я планирую иметь три роли на основе безопасности. User
, Editor
, Administrator
Определение ролей пользователей в Firebase
Любой пользователь, подписавшийся на Facebook, по умолчанию получает роль пользователя.
- Пользователь может читать все, но имеет очень ограниченные права на запись (
provide reviews
). - Редактор может читать что угодно и имеет больше разрешений на запись, чем пользователь (
create articles, provide reviews
). - Администратор может
create/Delete Editors
.
Администратор может обновить роль пользователя в редакторе и наоборот. Следовательно, создаются роли пользователя и роли редактора. Но как создать администратора в первую очередь?
С уважением
Спасибо за ответ. Роль администратора, в моем случае, заключается только в том, чтобы добавлять/удалять Редакторов, которые могут создавать статьи. Администратор не может быть автоматически сгенерирован. Следовательно, третий вариант можно исключить. – user3314337
Ваш первый вариант очень прост. Поскольку количество админов будет очень мало, работа с этим вариантом не будет проблемой.Однако это не помогает добавлять редакторов (хотя добавление редакторов не было частью вопроса, а только для аргумента), так как будет больше редакторов, сравниваемых с админами. Заглянуть в Консоль для каждого Редактора будет немного утомительно - следовательно, не будет никакой пользы для добавления редакторов. Использование отдельного узла для 'admins' или' Editors' кажется хорошим. Но опять же, как добавить пользователей в узел 'admins' или' Editors' ?. Прошу прощения, если мой вопрос слишком прост. – user3314337
Способ, которым у Фрэнка есть админ-узел в базе данных и существует ли ребенок, вы хотите сделать это для редакторов. Вы не хотите, чтобы он был доступен только для чтения, хотя в вашем приложении, когда вы контролируете создание/удаление редакторов, вы хотите обновить узел базы данных и добавить auth.uid для редактора. Правило, однако, остается тем же – PatrickWalker