Я пытаюсь создать сайт с 1 администратором и многими пользователями. Администратор имеет контроль над всеми пользователями.Ruby on Rails Devise Добавление администратора
Я использую:
- Рельсы 4,0
- Разрабатывают 3.2
- Sqlite3
Я создал пользовательскую модель и следовали инструкциям для добавления атрибута в модели пользователя с помощью опции 2. https://github.com/plataformatec/devise/wiki/How-To:-Add-an-Admin-role
В базе данных он устанавливает логическое значение для admin для false. Безопасно ли разрешить администрирование администратора из базы данных?
Мне любопытно, потому что пароль не хранится в базе данных, а вместо этого хранится зашифрованная строка.
Есть ли другой способ создать администратора? Я попытался выполнить вариант 1, но он дал мне много неприятностей.
Вы заявляете: «Мне любопытно, потому что пароль не хранится в базе данных, а вместо этого зашифрованная строка сохраняется». Почему вы считаете, что зашифрованная строка менее безопасна, чем текстовый пароль? Очень плохая практика хранить ясные текстовые пароли в любом месте. –
да Я понимаю, почему вы не должны хранить ясные текстовые пароли. Извините, если я был неясен - я считаю, что зашифрованная строка более безопасна. Поскольку мы не храним текстовые пароли, почему мы сохраняем эту опцию, чтобы получить доступ ко всему сайту в базе данных? – Daniel
Вариант 1 также сохраняет доступ ко всему сайту в базе данных, только в другой таблице. Если вы не храните учетные данные администратора в базе данных, где вы будете хранить его, что, по вашему мнению, будет более безопасным? На практике я бы не рекомендовал sqlite3. Поскольку вы используете Heroku, я бы порекомендовал PostgresSQL. –