Ejemplo n.º 1
0
        $groupId = Auth::user()->id_grupo_usuario;
        //obtiene la ruta que accede el usuario, Ej. datos/citas/{citas}/edit
        $ruta = Route::getCurrentRoute()->uri();
        // convierte en arreglo la ruta
        $ruta_array = explode('/', $ruta);
        //Si la ruta corresponde "datos/citas", y no se encuentra vacio el indice 1, concatenara dicha ruta
        // de lo contrario se selecciono reportes.
        if (!empty($ruta_array[1])) {
            //ej. datos.citas
            $ruta_final = $ruta_array[0] . '.' . $ruta_array[1];
        } else {
            //ej. reportes
            $ruta_final = $ruta_array[0];
        }
        //Selecciona el ID del Modulo que contenga la ruta que trata de visitar el usuario autenticado
        $modulo = Modulo::where('ruta', 'like', '%' . $ruta_final . '%')->select('id')->first()->toArray();
        //Busca si el usuario tiene acceso al modulo que desea entrar
        $moduloUser = ModuloUsuario::where('id_grupo_usuario', $groupId)->where('id_modulo', $modulo['id'])->where('inactivo', 0)->select('id')->get()->toArray();
        //Si está vacío no tiene acceso al modulo
        if (empty($moduloUser)) {
            App::abort(403);
        }
    }
});
/*
|--------------------------------------------------------------------------
| CSRF Protection Filter
|--------------------------------------------------------------------------
|
| The CSRF filter is responsible for protecting your application against
| cross-site request forgery attacks. If this special token in a user