Rails 4 - Rolify с датой обновления роли

Я пытаюсь настроить роли в моем приложении rails с Rolify.

У меня есть настройка модели CRUD для ролей. Я собираюсь начать исследовать, как определенные пользователи могут назначать роли с определенными областями другим пользователям.

Можно ли как-то разрешить пользователям, которым разрешено назначать роли, указать дату обновления, к которой они должны подтвердить, что пользователь продолжает выполнять эту роль?

На данный момент моя таблица ролей имеет только ассоциации с ресурсом и пользователем и строковый атрибут с именем:name (для имени роли).

Могу ли я добавить логическое значение для true/false в отношении того, имеет ли роль срок действия, и если да, то когда следует выдать уведомление о продлении?

Есть ли лучший способ сделать это?

1 ответ

Решение

Это может быть хорошей идеей:

  1. Создайте таблицу для ролей и разрешений.
  2. добавить поле has_expired в этой таблице.
  3. При сохранении разрешений устанавливается срок действия.
  4. Когда истекает срок входа пользователя в систему.
  5. Затем установите has_expired на true
  6. Если вы используете cancancan gem, то в модели ility.rb:

    if user.role.has_expired? cannot :manage, Role end

Надеюсь, поможет

Другие вопросы по тегам