2013-06-01 2 views
0

Я только начал использовать в Sentry Laravel 4, и я не уверен, где я должен писать свои права на группу. Я прошел через Sentry docs, но объяснение кажется немного расплывчатым. Есть ли пользователи Sentry, которые могут указать мне в правильном направлении?Laravel: добавление разрешений в часах

+0

Нашел этот документ. Надеюсь это поможет. https://github.com/cartalyst/sentry/blob/master/docs/permissions/index.md – chintan

+0

Я прошел через документы Sentry, но мне интересно, есть ли «user.delete и т. Д.», это метод? И где я должен помещать эти разрешения, в таблицы пользователей и групп или в «config/config.php» пакета Sentry? И каково будет отображение разрешений для пользователей и групп в представлениях? – ally

ответ

0

Я все еще сам разбираюсь с правами Sentry, но, надеюсь, этот ответ поможет вам на правильном пути. Я также надеюсь, что Я на правильном пути! :)

Следующий (по-видимому) неустановленный факт, который заставил меня смутить самое длинное. Как только я это понял, остальное стало иметь смысл:

Sentry не поддерживает или даже не требует предварительно определенного списка разрешений.

Поле permissions в таблицах groups и users примет любые ключи разрешений, которые вы ему даете. Sentry не проверяет, чтобы эти ключи были законными, когда они были сохранены. Это просто текстовое поле.

Если вам нужен/нужен окончательный список управляемых разрешений, одним из вариантов было бы создать вашу собственную таблицу permissions в базе данных.

Управление этой таблицей разрешений, вероятно, также потребует создания собственных моделей и представлений администратора, поскольку это все равно будет отделено от Sentry. Что касается применения разрешений для групп и пользователей, вы можете использовать эту таблицу для заполнения списка разрешенных разрешений на страницах «создавать/редактировать пользователя» и «создавать/редактировать группы».

0

Как я увидел конфигурационный файл Sentry, я нашел некоторые идеи о том, как использовать разрешения. Вам необходимо определить разрешения в файле sentry/config/sentry.php. Вот простая демонстрация.

'rules' => array(
    /** 
    * config samples. 
    * 
    * 'application::[email protected]', 
    * 'user::[email protected]', 
    * 'user::[email protected]', 
    * 'blog::[email protected]', 
    * 'my_custom_rule', 
    * 'is_admin', 
    */ 
    'is_admin', 
    'superuser', 
    'can_edit', 
    'can_delete' 
) 

Я добавил can_edit и can_delete разрешения и сейчас работает.

0

Существует приличный стартер Laravel с Sentry2, он помог мне объяснить, как это работает, проверяя, как оно было реализовано. Проверьте l4 with sentry здесь.

Кажется, что многие люди борются с разрешающей частью часового, включая меня. Кроме того, проверьте this SO thread, похоже, что это дубликат этого вопроса, есть дополнительная информация об этом.

Смежные вопросы