Я пытаюсь создать безопасный способ сделать конкретных пользователей администраторами - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть работающее приложение rails с devise Admins и Users, и я хочу создать безопасный способ, который позволит только пользователям с определенными идентификаторами авторизоваться и стать администраторами. В настоящее время у меня есть статическая ссылка, которая не очень безопасна, что сделает текущего пользователя администратором (website.com/make_admin), но я хочу найти наиболее безопасный способ превратить определенных пользователей в администраторов (я открыт для всех вариантов что может сделать это). Что было бы для меня лучшим способом сделать это?

Ответы [ 3 ]

0 голосов
/ 17 апреля 2019

Вы можете использовать Rolify для предоставления ролей пользователю и CanCanCan для контроля доступа.

Вы можете назначать роли пользователю либо из консоли rails, либо вы можете сгенерировать представление для него, ограничить его администратором и назначить роли каждому отдельному пользователю.

0 голосов
/ 17 апреля 2019

Вы можете добавить логическое значение admin для вашей пользовательской модели и обновить его через консоль rails

rails g migration add_admin_to_users admin:boolean
0 голосов
/ 17 апреля 2019

Я бы порекомендовал добавить поле администратора в форму пользователя, чтобы выбрать, являются ли они пользователем администратора, но в действиях по обновлению / созданию на вашем контроллере пользователей проверьте, чтобы проверить, является ли current_user (если используется Devise)другой пользователь-администратор (или любой другой тип роли, который им необходим для обновления других прав администратора).

Вы также, вероятно, захотите проверить, чтобы убедиться, что они не могут установить себя как admin = false, иначе вы можете остаться без администраторов на сайте и ни у кого нет разрешения на изменение.этот.Тем не менее, в зависимости от приложения, вы всегда можете просто вручную управлять пользователями-администраторами - моя компания сделает это в зависимости от клиента и его потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...