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
@jpmurray, nice :) I was thinking if it came to that I would do
'middleware' => ['auth','role:owner','role:member']]
but yours is a bit cleaner. But so far, haven't had the need for multiple roles in the middleware