Как я могу использовать часового с Laravel 5?

Я попытался установить часового в Laravel 5, но это не работает. Я хотел бы знать, если кто-то сделал это и как это сделать.

Обновление: я использовал инструкцию для Laravel 4.

4 ответа

Решение

У меня это работает.

  1. Официальной поддержки Sentry в L5 сейчас нет. Они заявляют это прямо на своем сайте. Они работают над этим, однако.

  2. Добавьте следующее в ваш файл composer.json в разделе "требуется".

    "cartalyst/sentry": "dev-feature/laravel-5",
    "illuminate/html": "~5.0"
    

Добавьте следующее в раздел автозагрузки.

"app/Http/Controllers",

Это должно выглядеть примерно так:

"require": {
    "laravel/framework": "5.0.*",
    "cartalyst/sentry": "dev-feature/laravel-5",
    "illuminate/html": "~5.0"
},
"require-dev": {
    "phpunit/phpunit": "~4.0",
    "phpspec/phpspec": "~2.1"
},
"autoload": {
    "classmap": [
        "database",
        "app/Classes",
        "app/Http/Controllers",
        "app/Models"
  1. (Предполагая Linux без псевдонимов) Запустите php composer.phar dump-autoload, затем php composer.phar update

  2. Следуйте инструкциям на следующей странице, чтобы преобразовать файлы с 4.2 до 5.0: http://laravel.com/docs/master/upgrade

  3. Если вы используете HTML Фасад для ФОРМ, измените {{{ }}} или {{}} для ФОРМ на {!!!!} потому что L5 экранирует все выходные данные {{{ }}} и {{ }}. Если вам нужен необработанный вывод, вы должны использовать {!!!!}.

  4. Когда вы перенесете проверку перенаправления на метод загрузки в соответствии с инструкциями в #4, добавьте следующее в начало RouteServiceProvider.php

    используйте Cartalyst\Sentry\Facades\Laravel\Sentry;

Метод загрузки должен выглядеть примерно так:

public function boot(Router $router)
    {
        parent::boot($router);
        // Check if someone is already logged in
        Route::filter('members_auth',function(){
        //If already logged in go to dashboard or else login
            if(!Sentry::check()){
                return Redirect::to('/login');
            }
        });

        //
    }

ОБНОВЛЕНИЕ 02-26-15

  1. Не запускайте команду php artisan optimize, так как она сломает часовой. Я не мог понять, что было не так после того, как я запустил это, но подумал, что это, вероятно, должно быть с файлом compiled.php, поэтому я запустил php artisan optimize --force, и это устранило проблему.

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

Уэйн Лейзер, ИТ-директор

B2B IT Solutions

** Обновление 29-03-2018 ** Sentry теперь поддерживает Laravel 5.x

Я лично не установил это, но я знаю, что это совместимо. https://medium.com/@Cartalyst/laravel-5-support-4c11e01c3337

Инструкции по установке не содержат конкретной информации Laravel5, хотя она должна быть идентичной L4, пока вы не потянете в нужную ветку. Предполагая, что вы используете композитор, вы можете сделать это, потребовав "cartalyst/sentry": "dev-feature/laravel-5" в вашем composer.json.

Следуйте остальной части установки L4 (добавьте в провайдеры и массив псевдонимов) и информацию, кроме помните, app.php больше не находится в app/config/app.php но в config/app.php

Если что-то все еще не работает для вас, обязательно обновите ваш вопрос, по крайней мере, до некоторой информации...

В bootstarpCms используются как laravel5, так и sentry, поэтому вы можете прочитать исходный код, чтобы узнать его здесь. https://github.com/BootstrapCMS/CMS

Попробуйте Sentinel: https://github.com/rydurham/Sentinel

добавить в композитор

composer require rydurham/sentinel

В config/app.php

'providers' => array(
    ...
    'Sentinel\SentinelServiceProvider', 
    ...
)

В приложении /Http/Kernel.php

protected $routeMiddleware = [
    // ..
    'sentry.auth' => 'Sentinel\Middleware\SentryAuth',
    'sentry.admin' => 'Sentinel\Middleware\SentryAdminAccess',
];

затем

опубликовать конфигурацию:

php artisan sentinel:publish

запустить миграции:

php artisan migrate

запустить сеялку:

php artisan db:seed --class=SentinelDatabaseSeeder

добавить домашний маршрут в app/rout.php

 Route::get('/', array('as' => 'home', function()
{
    return View::make('home');
}));

все сделано, перейдите на myapp.dev/login

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