Одна учетная запись с аутентификацией многих пользователей в rails

Какой подход вы бы порекомендовали для решения следующей проблемы: Мое приложение должно иметь учетную запись с несколькими пользователями, вводящими задачи в одной и той же учетной записи. Только один из пользователей (тот, который открыл учетную запись) будет иметь права администратора.

Я думаю об использовании Authlogic для аутентификации и CanCan для определения привилегий пользователя. Дело в том, что я бы хотел, чтобы пользователь, открывший учетную запись, был администратором по умолчанию, поскольку он был единственным, кто мог генерировать других пользователей для своей учетной записи с другими привилегиями.


person Cristian    schedule 01.06.2010    source источник


Ответы (1)


Почему бы вам не разделить модель пользователя на учетную запись и профиль? «Учетная запись» будет иметь имя пользователя и пароль для каждого пользователя, а «Профиль» будет вести список (через общую таблицу или таблицу :through), чтобы отслеживать администраторов и редакторов?

class Account < ActiveRecord::Base
  has_many :roles
  has_many :profiles, :through => :roles
end


class Profile < ActiveRecord::Base
  has_many :roles
  has_many :accounts, :through => :roles
end

class Role < ActiveRecord::Base
  belongs_to :account
  belongs_to :profile
  attr_accessible :is_admin, :account_id, :profile_id
end
person porkeypop    schedule 03.06.2010