Roles
Sistema de Roles y Permisos
Sección titulada «Sistema de Roles y Permisos»Introducción
Sección titulada «Introducción»El sistema de roles en SMEISA controla el acceso a todas las funcionalidades de la plataforma mediante un modelo basado en permisos. Cada usuario tiene uno o varios roles que determinan qué acciones puede realizar.
Conceptos Clave
Sección titulada «Conceptos Clave»- Rol: Conjunto de permisos agrupados lógicamente (ej: “Administrador”, “Editor”)
- Permiso: Autorización para realizar una acción específica (formato:
recurso_accion) - Jerarquía: Los permisos se acumulan (roles superiores incluyen permisos de inferiores)
Tabla Comparativa de Roles
Sección titulada «Tabla Comparativa de Roles»| Rol | Descripción | Permisos Clave | Acceso Típico |
|---|---|---|---|
admin | Control total del sistema | * (todos) | Equipo técnico |
user_manager | Gestiona usuarios | users_create, users_edit, users_view | RRHH/Administración |
content_manager | Gestiona contenido | content_create, content_edit, content_publish | Editores/Comunicación |
analyst | Acceso a reportes | reports_view, data_export | Analistas/Dirección |
user | Usuario básico | profile_edit, content_view | Todos los usuarios |
Estructura de Permisos
Sección titulada «Estructura de Permisos»Los permisos siguen este formato:
<área>_<acción>Ejemplos comunes:
users_create→ Crear nuevos usuarioscontent_edit→ Editar contenido existentereports_export→ Exportar reportes
Buenas Prácticas
Sección titulada «Buenas Prácticas»-
Principio de Mínimo Privilegio:
- Asigne solo los permisos estrictamente necesarios
- Combine roles específicos en lugar de usar roles genéricos
-
Nomenclatura:
- Use nombres descriptivos (ej:
finance_reportsen lugar defin_rep) - Mantenga consistencia en la estructura
recurso_accion
- Use nombres descriptivos (ej:
-
Seguridad:
- Revise periódicamente los permisos asignados
- Desactive roles que ya no se utilicen
Cómo Consultar Roles Disponibles
Sección titulada «Cómo Consultar Roles Disponibles»Puedes listar todos los roles activos mediante la API:
GET /rolesO obtener detalles de un rol específico:
GET /roles/{id}ℹ️ Nota: Requiere autenticación con rol
ROLE_ADMIN
Ejemplo de Respuesta Completa
Sección titulada «Ejemplo de Respuesta Completa»{ "id": 3, "name": "content_manager", "description": "Puede crear y editar contenido pero no publicar", "isActive": true, "permissions": [ "content_create", "content_edit", "media_upload" ], "createdAt": "2023-06-15T10:30:00Z", "updatedAt": "2023-11-20T14:15:00Z"}Preguntas Frecuentes
Sección titulada «Preguntas Frecuentes»¿Puede un usuario tener múltiples roles?
Sí, los permisos se combinan de todos los roles asignados.
¿Cómo sé qué permisos tiene un rol?
Consulta el detalle del rol en GET /roles/{id} donde se listan todos sus permisos.
¿Qué pasa si se elimina un permiso usado por un rol?
El sistema automáticamente actualiza los roles afectados.