Совет Rails 3: Создать новый класс Admin User или использовать CanCan? - PullRequest
3 голосов
/ 10 июля 2011

У меня сейчас есть приложение rails 3 в бета-версии, которое использует Devise для аутентификации пользователей, и мне нужен совет.Я хочу добавить пользователя-администратора, у которого есть некоторые дополнительные возможности, но я буду единственным пользователем-администратором (или пользователи-администраторы могут быть созданы через терминал - то есть люди не могут зарегистрироваться как пользователи-администраторы).Все обычные пользователи имеют одинаковые способности.Я как раз собирался использовать канкан для разделения способностей на основе ролей пользователей.Тогда мне пришло в голову, что использование cancan может быть просто излишним.имеет ли смысл просто создать другой класс пользователя вместо этого?Я отказываюсь от чего-либо, делая это?

В будущем я могу предвидеть, что, если это приложение будет успешным, у пользователей могут быть разные роли (бесплатная и платная учетная запись и т. Д.).Даже в этом случае, имеет ли смысл НЕ иметь администратора с помощью devise?Мысли?

Спасибо !!

Ответы [ 2 ]

2 голосов
/ 10 июля 2011

Если вы являетесь единственным администратором, я бы создал поле в вашей модели пользователя с именем Admin, а затем, когда вы собираетесь добавить функцию, предназначенную только для вас, используйте admin? проверьте свой код.

Для большинства моих проектов я использовал Devise и затем использовал Вариант 2 из их Admin Role Wiki , который очень прост в реализации.

2 голосов
/ 10 июля 2011

Если у вас есть только два типа (пользователи и администраторы), то вполне возможно иметь два класса. Возможно, это даже проще реализовать, чем полноценную систему ролей. Но если ожидается, что в будущем вы получите больше ролей, было бы лучше заложить прочную основу и использовать систему ролей с самого начала.

...