Se encuentra en:
Comprobar los permisos de un nodo específico utilizando node_access en Drupal
RECU-0555 (Recurso Ejemplo)
- Área: Control de Acceso y Autenticación
- Carácter del recurso: Obligatorio
- Tecnologías: PHP
Descripción
La función db_rewrite_sql es una solución para obtener listados de nodos pero, para determinar qué usuario tiene acceso a un nodo específico, es un poco complejo.
Ejemplos
$node = node_load(arg(2));
$access = db_result(db_query(db_rewrite_sql(“SELECT n.nid FROM {node}
n WHERE n.nid = %d“), $node->nid));
if ($access) {
drupal_set_message(check_plain($node->title));
}
Es facil simplificar el uso de la función node_access:
$node = node_load(arg(2));
if (node_access(’view’, $node)) {
drupal_set_message(check_plain($node->title));
}
Usando node_access, el primer parámetro es la operación que se quiere tratar, pudiendo ser una vista, actualización, borrado o alta. Esta función es útil para determinar si se crean enlaces como "crea más productos" o "borre este producto"
Contenidos relacionados
Pautas
Código | Título | Tipo | Carácter | |
---|---|---|---|---|
LIBP-0264 | Uso de permisos en recursos críticos | Libro de pautas | Directriz | Obligatoria |