Se encuentra en:
Manejar los permisos mediante la función hook_perm() en Drupal
RECU-0565 (Recurso Ejemplo)
- Área: Control de Acceso y Autenticación
- Carácter del recurso: Obligatorio
- Tecnologías: PHP
Descripción
Es recomendable proteger los accesos a las funciones críticas de los módulos mediante permisos.
Ejemplos
La función hook_perm() permite a todos los módulos añadir permisos para su administración.
function blog_perm() {
return array(‘create blog entries’, ‘delete own blog entries’, ‘delete
any blog entry’, ‘edit own blog entries’, ‘edit any blog entry’);
}
Crear un nuevo permiso para el módulo es tan simple como añadir una nueva entrada en el array que se retorna. Un ejemplo de la implementación en el modulo node sería el siguiente:
function node_perm() {
$perms = array(‘administer content types’, ‘administer nodes’, ‘access
content’, ‘view revisions’, ‘revert revisions’, ‘delete revisions’);
foreach (node_get_types() as $type) {
if ($type->module == ‘node’) {
$name = check_plain($type->type);
$perms[] = ‘create ’. $name .‘ content’;
$perms[] = ‘delete own ’. $name .‘ content’;
$perms[] = ‘delete any ’. $name .‘ content’;
$perms[] = ‘edit own ’. $name .‘ content’;
$perms[] = ‘edit any ’. $name .‘ content’;
}
}
return $perms;
}
Contenidos relacionados
Pautas
Código | Título | Tipo | Carácter | |
---|---|---|---|---|
LIBP-0254 | Control de acceso | Libro de pautas | Directriz | Obligatoria |