0
我有以下代码:Laravel 5.4 - 选择航线基于角色
Route::group(['middleware' => ['auth']], function() {
dd($user);
Route::get('/', '[email protected]');
});
的$用户在AppServiceProvider创建的,但它不是在路线访问:
public function boot()
{
view()->composer('layouts.main', function($view){
$employees = \App\Bamboo::getEmployees();
$employeeIndex = \App\Bamboo::getEmployeeIndex(auth()->user()->email, $employees);
$view->with('employees', $employees);
$view->with('user', $employees['employees'][$employeeIndex]);
});
}
是否有一个为什么我选择哪个函数将被调用SiteController基于角色(这是包含在$用户)?
我想要做这样的事情:
$method = $user->role === 'dev' ? 'index' : 'admin';
Route::get('/', "[email protected]{$method}");
这可能吗?
定义具有角色的路由的中间件:https://laravel.com/docs/5.4/middleware – Troyer
我有点在这里丢失 - 我没有看到一种方式,我可以通过**用户**到中间件(在AppServiceProvider中创建的一个 – Sasha