I've done something like this:
web.php
Route::group(['prefix' => {User Role}, 'middleware' => 'AuthUser:superadmin,admindesa'], function() {
Route::get('/', 'DashboardC@index');
Route::get('/penduduk', 'PendudukC@index');
Route::get('/penduduk/{id}/detail', 'PendudukC@detail');
});
Route::group(['prefix' => 'superadmin', 'middleware' => 'AuthUser:superadmin'], function() {
Route::get('/pengguna', 'PenggunaC@index');
Route::get('/pengguna/{id}/edit', 'PenggunaC@edit');
Route::post('/pengguna/{id}/prosesedit', 'PenggunaC@prosesEdit');
Route::get('/pengguna/{id}/hapus', 'PenggunaC@hapus');
Route::post('/ajax/pengguna', 'AjaxC@pengguna');
});
AuthUser.php
class AuthUser
{
public function handle($request, Closure $next, ...$roles)
{
$auth = auth('web')->user();
if (!$auth || !in_array($auth->role, $roles)){
\Session::flash('flash_message', array('pesan' => 'Silahkan login untuk melanjutkan', 'tipe' => 'warning'));
return redirect()->route('login');
}
return $next($request);
}
}
Anyone know what should I write to asign user's role in route prefix? {User Role}