/**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next, $aplicacion)
 {
     $metodo = $request->method();
     $user = JWTAuth::parseToken()->authenticate();
     switch ($metodo) {
         case 'GET':
             $tipo_permiso = 1;
             break;
         case 'POST':
             $tipo_permiso = 2;
             break;
         case 'PUT':
             $tipo_permiso = 2;
             break;
         case 'DELETE':
             $tipo_permiso = 2;
             break;
     }
     $privilegios = Privilegio::with('aplicacion')->where('user_id', $user->id)->where('aplicacion_id', $aplicacion);
     if ($tipo_permiso == 1) {
         $privilegios = $privilegios->where(function ($query) {
             $query->where('privilegios_tipo_id', 1)->orWhere('privilegios_tipo_id', 2);
         });
     } else {
         $privilegios = $privilegios->where('privilegios_tipo_id', $tipo_permiso);
     }
     $privilegios = $privilegios->first();
     if ($privilegios) {
         return $next($request);
     } else {
         return response('Unauthorized.', 401);
     }
 }
 public function getMyAplicaciones()
 {
     $user = app('Dingo\\Api\\Auth\\Auth')->user();
     $privilegios = Privilegio::with('aplicacion')->where('user_id', $user->id)->get();
     return $privilegios;
 }
Ejemplo n.º 3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getIdPrivilegio()
 {
     return $this->hasOne(Privilegio::className(), ['Id' => 'Id_Privilegio']);
 }
Ejemplo n.º 4
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getIdPrivilegios()
 {
     return $this->hasMany(Privilegio::className(), ['Id' => 'Id_Privilegio'])->viaTable('grupo_privilegio', ['Id_Grupo' => 'Id']);
 }