Laravel Spatie / Laravel-Activitylog с Sentinel

Я использую Sentinel для авторизации в моем проекте Laravel. Теперь я пытаюсь добавить журнал активности Laravel от Spatie. Журнал активности использует драйвер аутентификации по умолчанию для регистрации активности пользователя. Как сменить драйвер, чтобы использовать драйвер от Sentinel. Я новичок в Laravel, и у меня проблемы с реализацией этого. Любая помощь будет принята с благодарностью. С уважением.


person Primož    schedule 30.01.2018    source источник


Ответы (2)


Это прямо в файле конфигурации.

'default_auth_driver' => null,

Просто установите то, что вы используете.

https://docs.spatie.be/laravel-activitylog/v2/installation-and-setup

person Community    schedule 30.01.2018
comment
Я видел эту опцию в конфигурации, но я не знаю, что туда поставить, попробовал 'sentinel', но получаю ОШИБКУ: Auth guard [Sentinel] не определен. - person Primož; 30.01.2018
comment
Страж, вероятно, использует в качестве охранников либо session, либо api. Я бы предположил, что он основан на реализациях laravel. - person ; 30.01.2018
comment
Защитники аутентификации, которые определены в auth.php, - это web и api, эти два работают так же, как нулевой параметр (в activitylog.php). Ведение журнала работает, но я не понимаю модели причинителя. Единственное, что сработало, - это изменение ActivityLogger.php путем замены $ this- ›hibitedBy = $ auth- ›guard ($ this-› authDriver) - ›user (); $ this- ›calledBy = Sentinel :: getUser (); но это неправильное решение. Как я уже сказал в первом сообщении, я новичок в laravel и мне трудно понять это. - person Primož; 31.01.2018
comment
Я только что посмотрел репозиторий. Вам не нужно менять исходный код. Вы передаете либо экземпляр модели пользователя, либо идентификатор ->causedBy(). Это нормализует это для вас под капотом. githublogs/blog/blog/blog/blog/blog/blog/blog/blog/blob/. - person ; 31.01.2018
comment
В нем также указано, что если вы не используете createdBy, пакет будет автоматически использовать вошедшего в систему пользователя. docs.spatie.be/laravel- журнал активности / версия 2 / основное использование / - person ; 31.01.2018
comment
«Если вы не используете DidBy, пакет будет автоматически использовать пользователя, вошедшего в систему». эта часть не работает с часовым, я не получаю зарегистрированного пользователя. Похоже, мне придется вручную регистрироваться, вместо использования трейта LogsActivity. - person Primož; 31.01.2018

Я изменил переменную в функции __construct в ActivityLogger.php

$ this-> createdBy = \ Sentinel :: check ();

person fiazn    schedule 16.07.2018
comment
ActivityLogger.php можно найти здесь путь_к_проекту \ vendor \ spatie \ laravel-activitylog \ src \ ActivityLogger.php отредактируйте значение $ this- ›calledBy внутри функции __construct - person fiazn; 28.08.2018