How can I use sentry with laravel 5?

蹲街弑〆低调 提交于 2019-11-28 19:42:22
scrfix

I have this working.

  1. There is no official support right now for Sentry in L5. They state this right on their website. They are working on it however.

  2. Add the following to your composer.json file in the require section.

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

Add the following to the autoload section.

"app/Http/Controllers",

It should look something like:

"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. (Presuming linux with no aliases) Run php composer.phar dump-autoload then php composer.phar update

  2. Follow the instructions on the following page to convert your files from 4.2 to 5.0: http://laravel.com/docs/master/upgrade#upgrade-5.0

  3. If you are using HTML Facade for FORMS then change {{{ }}} or {{ }} for the FORM's to {!! !!} because L5 escapes all output from {{{ }}} and {{ }}. If you want raw output you must use {!! !!}.

  4. When you move your redirect check to the boot method as per the instructions in #4 then add the following to the top of the RouteServiceProvider.php

    use Cartalyst\Sentry\Facades\Laravel\Sentry;

The boot method should look something like:

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');
            }
        });

        //
    }

UPDATE 02-26-15

  1. Do not run the command php artisan optimize as it will break sentry. I could not figure out what was wrong after I ran this but thought it probably has to be with the compiled.php file so I ran php artisan optimize --force and that fixed whatever the issue was.

Hope it helps.

Wayne Leiser, I.T. Director

B2B I.T. Solutions

** Update 29-03-2018 ** Sentry now supports Laravel 5.x

I haven't personally installed it, but I know it's compatible. https://medium.com/@Cartalyst/laravel-5-support-4c11e01c3337

The installation instructions do not have specific Laravel5 information though it should be identical to L4 pending you pull in the correct branch. Assuming you are using composer you can do this by requiring "cartalyst/sentry": "dev-feature/laravel-5" in your composer.json.

Follow the rest of the L4 installation (add to providers and aliases array) and information except remember app.php is no longer in app/config/app.php but in config/app.php

If things are still not working for you, be sure to update your question with at least some information...

bootstarpCms use both laravel5 and sentry ,so you can read the source code to learn .here https://github.com/BootstrapCMS/CMS

Try Sentinel: https://github.com/rydurham/Sentinel

add to composer

composer require rydurham/sentinel

In config/app.php

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

In app/Http/Kernel.php

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

then

publish config:

php artisan sentinel:publish

run migrations:

php artisan migrate

run seeder:

php artisan db:seed --class=SentinelDatabaseSeeder

add home route in app/routes.php

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

all done, go to myapp.dev/login

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!