Team Role Middleware For Laravel Spark

May 3, 2016 ยท View on GitHub

Team Role Middleware For Laravel Spark

Makes it simple to use Spark's role feature on routes

Route::group(['middleware'=>'role:owner'], function(){
    // owners only
});

Route::group(['middleware'=>'role:member'], function(){
    // members only
});

Run php artisan make:middleware RoleMiddleware Copy the following to the newly created file

Open Http\kernel.php Find $routeMiddleware Add 'role' => \App\Http\Middleware\RoleMiddleware::class,

<?php

namespace App\Http\Middleware;

use Closure;

class RoleMiddleware
{
    /**
     *  Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string  $role
     * @return mixed
     */
    public function handle($request, Closure $next, $role)
    {         
        if ($request->user()->roleOn($request->user()->currentTeam) != $role)
        {
            return redirect('/home');
        }

        return $next($request);
    }

}

Made by: @dillinghamio Find More Awesome Spark Stuff Here