Redireccionar usuario Drupal 8 según perfil

He estado creando un módulo de Drupal 8 que permite subir documentos a un perfil de usuario concreto y a otro poder ver el listado de dichos documentos. Este segundo perfil en concreto debe acceder directamente al listado cuando se loga por lo que he tenido que meter el siguiente hook en el módulo:

function my_module_user_login($account) {
// si es del perfil documentacion le redirigimos al listado de documentos
    if(in_array('documentacion', $account->getRoles())) {
        $response = new Symfony\Component\HttpFoundation\RedirectResponse("/user/listado-documentos");
        $response->send();
        return;
    }
}

Con esto ya estamos redirigiendo a los usuarios pero ahora hay que crear esa ruta, para ello en el módulo creamos un fichero routing y creamos la ruta restringiendo el acceso al perfil documentación:

my_module.listado:
  path: '/user/listado-documentos'
  defaults:
    _controller: '\Drupal\my_module\MyController::listado'
    _title: 'Listado de documentos'
  requirements:
    _permission: 'access content'
    _role: 'financial'

Y ya en el controlador MyController metemos toda la lógica que necesitemos

Dejar un comentario?

0 Comentarios.

Deje un comentario


NOTA - Puede usar estosHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.