In meiner Website zuweisenwie eine hasMany Rolle Check in Laravel
ich eine InitiatorController haben, die wie thi Gerade jetzt
class InitiatorController extends Controller
{
use ExchangerateTrait;
public function __construct(){
$this->middleware('auth');
$this->middleware('role:sales'); // replace 'collector' with whatever role you need.
}
public function getIndex(){
return redirect('initiator/home');
}
}
sieht Nach der Authentifizierung ich überprüft habe, ob der Benutzer Rolle sales
ist oder nicht Rollen-Middleware
Meine Rolle Middleware sieht so aus.
class Role
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next, $role){
if ($request->user()->role != $role){
if($role=="collector" || $role=="admin")
return Redirect::to('/');
if($role=="director" || $role=="admin")
return Redirect::to('/');
if($role=="admin1" || $role=="admin")
return Redirect::to('/');
if($role=="admin2" || $role=="admin")
return Redirect::to('/');
if($role=="sales" || $role=="admin")
return Redirect::to('/');
if($role=="developer" || $role=="admin")
return Redirect::to('/');
}
return $next($request);
}
}
Jetzt habe ich eine Situation, in der Rolle director
ist, aber er ist auch ein Verkaufsmann, Wie kann ich das angehen.
Erste Idee in Controller
wenn ich einige, wie wie diese kann ich
if(in_array ($request->user()->role,$roles)){
//do some thing
}
else
{
//redirect to login
}
überprüfen wie
$roles = array('director,sales,teamlead');
$this->middleware('role:$roles');
und dann in Middle ware eine Reihe von Rollen an die Middleware etwas schicken
Meinen Sie, wie mehrere Rollen in Middleware zu bekommen? – Chay22
@ Chay22 ja so etwas, Angenommen, in Initiator Controller gibt es einige Funktionen, auf die nur zugegriffen werden sollte Von Teamleiter, der auch ein Verkäufer sind, Wie kann ich das überprüfen? – Vikram