我有一个admin-controller,我想将中间软件放在参数上以允许 super Admin 做管理员。
在这里我的控制器:
class adminController extends Controller
{
public function __construct(){
$this->middleware('admin');
}
public function showGenerateCode(){
$code ="";
return view('create_code',compact('code'));
}
public function generateCode(Request $request){
$phone = $request['phone'];
$code = "";
$user = User::where('phone' ,'=',$phone)->first();
if($user){
$code = "Ce numero de telephone et deja associé a un utilisateur";
return view('create_code',compact('code'));
//dd($code);
}
else{
$code = "Code d'autorisation générer avec succé : ".substr($phone,1,3).rand(1000000,9999999);
return view('create_code',compact('code'));
}
}
}
将它们作为数组
传递$this->middleware(['admin', 'superAdmin']);
如果它不适用于数组,请单独传递
$this->middleware('admin');
$this->middleware('superAdmin');
不是解决您的问题的方法,而是解决方法,因为您尝试的一切都无法正常工作。您可以从构造函数中删除中间件,而是将它们应用于从该构造函数调用功能的路线
Route::group(['middleware' => ['admin', 'superadmin']], function(){
Route::get('url1', 'adminController@function1');
Route::get('url2', 'adminController@function2');
Route::post('url3', 'adminController@function3');
});
尝试一下,看看它如何进行。