another_dream
@another_dream
Backend-разработчик, Laravel/ZF2/Yii2

Как расширить класс Sentinel в Laravel 5?

Имеется проект на L5.2.
К нему прикручена авторизация на основе пакета cartalyst/sentinel.
Необходимо расширить функционал, к примеру, добавить простой метод для проверки принадлежности к нескольким ролям (в оригинале есть только метод inRole($role), проверяет только одну роль).

Если я все правильно понял - можно расширить модель User от \Cartalyst\Sentinel\Users\EloquentUser, но это не сработало и каждый раз при получении юзера - возвращается оригинальная модель \Cartalyst\Sentinel\Users\EloquentUser, а не, к примеру, App\User (эта модель назначена в config/cartalyst.sentinel.php).

Каким образом можно реализовать требуемый функционал (грубо говоря нужен метод типа inRoles(array $arr), где $arr - массив вида ['admin', 'moderator'])?

Подход с созданием хелпера без расширения Sentinel не рассматривал, так как думаю, что это не верное решение. Если это не так - поправьте, пожалуйста.

Спасибо.
  • Вопрос задан
  • 384 просмотра
Пригласить эксперта
Ответы на вопрос 2
@assets
Back-end developer
Чем Entrust не устраивает?
Ответ написан
rdifb0
@rdifb0
Программист, реалист
Редактируйте конфиг и меняйте класс пользователя на свой.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы