У меня есть разработка для аутентификации, и я должен сделать так, чтобы определенные пользователи имели разрешение только на просмотр для этих конкретных проектов, а также разрешение на создание и чтение для одного и того же пользователя для разных проектов, точно так же остальные пользователи должны иметь разрешения для проектов. И это разрешение должно быть редактируемым, чтобы пользователь с ролью администратора мог редактировать разрешение для пользователей. Как я могу это сделать?
как я могу назначить каждому пользователю доступ к проектам в разных условиях?
Ответы (2)
жемчужина CanCan Райана Бейтса удовлетворит большинство ваших требований. Посмотрите эпизод RailsCast на CanCan для краткого введения: http://railscasts.com/episodes/192-authorization-with-cancan
Не уверен, что это - готовое - обеспечивает графическое редактирование разрешений, но я думаю, что это можно реализовать с помощью доступных функций в CanCan.
У меня нет опыта работы с Rails, но я предполагаю, что вы ищете разрешение уровня объекта, которое можно было бы использовать для управления операцией CRUD на отдельных объектах для каждого пользователя.
add_permission --> List of User
view_permission --> List of User
delete_permission --> List of User
update_permission --> List of User
add_excluded_user_permission --> List of User
view_excluded_user_permission --> List of User
delete_excluded_user_permission --> List of User
update_excluded_user_permission --> List of User
Вы можете наследовать следующие свойства своего класса, которые в основном представляют собой список пользователей, определенных для конкретной операции, а затем вы можете рассмотреть возможность создания API, который можно использовать для проверки пользователя на наличие этих разрешений.