Skip to content

Instantly share code, notes, and snippets.

@ivanhoe011
Forked from dillinghamio/SparkRoleMiddleware.md
Created November 14, 2016 03:58
Show Gist options
  • Save ivanhoe011/931417be3e36b3f06e994bfe5cd004f9 to your computer and use it in GitHub Desktop.
Save ivanhoe011/931417be3e36b3f06e994bfe5cd004f9 to your computer and use it in GitHub Desktop.
Team Role Middleware For Laravel Spark

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment