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
@dillinghamio problem with passing
['auth','role:owner','role:member']
is that it acts like andand
(or at least, that's how it acted when I first tested it!). I myself, really needed anor
for a case like this one:you can access team setting page if you are owner or manager
.