Skip to main content

Excepciones individuales de permisos

Necesitas: employees:read y employees:write — los tienen admin y employee_manager.

Una excepción concede o deniega un permiso concreto a un empleado concreto, por encima de lo que digan sus roles. Úsala cuando una persona encaja con un rol existente en todo salvo en un detalle.

Los dos tipos

Tipo Efecto Uso típico
Grant Añade un permiso que sus roles no incluyen Un operador de turno que además necesita cancelar pedidos, sin darle el rol de jefe entero
Deny Retira un permiso que sus roles sí incluyen Un responsable de tienda que no debería poder pausar el reparto

La regla que resuelve los conflictos

Un deny siempre gana. Prevalece sobre cualquier grant, venga del rol que venga, e incluso sobre un grant explícito. No hay orden que razonar ni prioridad que configurar.

Es deliberado: hace que un deny sea una forma fiable de retirar una capacidad, sin tener que auditar qué roles podrían estar devolviéndola.

super_admin es la única excepción: se salta todas las comprobaciones, incluidos los denies. admin no; a admin los denies individuales le aplican con normalidad.

Crear una

  1. Abre Excepciones y busca al empleado.
  2. Elige el permiso.
  3. Elige grant o deny.
  4. Opcionalmente, pon una fecha de caducidad.
  5. Guarda. El registro conserva quién la creó, para auditoría.

Usa la fecha de caducidad

La mayoría de las excepciones nacen con intención temporal: cubrir una ausencia, una campaña de temporada, una prueba de acceso más amplio. Muy pocas acaban siendo temporales en la práctica, porque nadie se acuerda de retirarlas.

Poner la fecha de caducidad al crearla convierte ese problema en un no-problema. Si el acceso resulta ser permanente, la solución correcta es cambiar el rol, no una excepción que no termina nunca.

Cuándo no usar una excepción

Cuando dos roles ya lo cubren. Si la persona necesita un área completa, asigna el rol de esa área — ver Combinaciones habituales de roles. Las excepciones son para permisos sueltos, no para montar un área a base de piezas.

Cuando varias personas necesitan lo mismo. Tres excepciones idénticas son señal de que el rol está mal planteado. Solicita un cambio de rol — ver Solicitar un rol nuevo o modificado.

Para restringir datos. Las excepciones controlan acciones, no visibilidad. Para limitar lo que alguien ve, configura su scope — ver Configurar el scope de un empleado.

Revisarlas

Las excepciones son la parte del modelo de acceso que más se desvía con el tiempo, porque cada una es invisible desde el catálogo de roles. Revisa la lista periódicamente y retira las que ya no tengan motivo.