Documentación · Privacidad, seguridad y cumplimiento
Control de acceso y capacidades
Este documento describe cómo el plugin ADP Car Market Hub utiliza los roles y capacidades de WordPress para controlar el acceso a sus funciones de administración y a los tipos de contenido personalizados (CPT) que registra. Es una referencia para administradores del sitio y gestores de concesionarios que necesitan otorgar el nivel de acceso adecuado a los usuarios internos.
Cuándo usar este documento
Use este documento cuando necesite:
- Decidir qué rol o capacidad de WordPress otorgar a un compañero que gestiona los listados de vehículos o los ajustes del plugin.
- Auditar quién tiene acceso a las páginas de administración del plugin y a los datos de los leads.
- Integrar el plugin con un plugin de gestión de roles o un fragmento de código personalizado que mapee capacidades.
- Solucionar errores de tipo "no tiene permiso" en la administración del plugin.
Descripción general
El plugin añade dos conjuntos de capacidades sobre el sistema de roles estándar de WordPress:
- Una única capacidad de gestión del plugin (
manage_as24_imports) que restringe el acceso a cada página de administración del plugin, cada controlador POST de administración, cada acción AJAX de administración del plugin y el widget del escritorio por usuario. - Un conjunto de capacidades de tipo de contenido personalizado para el tipo de contenido de vehículos
as24ci_car, mapeadas a través decapability_type = ['as24ci_car', 'as24ci_cars']conmap_meta_cap = true.
El plugin también crea un rol personalizado (as24ci_editor) que posee las capacidades del CPT de vehículos pero no la capacidad de gestión. El rol administrator recibe ambos conjuntos al activar el plugin o al actualizar las capacidades.
El plugin no modifica el rol estándar editor de WordPress.
Referencia de capacidades
Capacidad de gestión del plugin
| Capacidad | Propósito |
|---|---|
manage_as24_imports | Requerida para: páginas de administración y pestañas del plugin (Settings, Importer, Tools, Logs, Leads, Analytics, Search Alerts, Health, Locations, PDF Manager, AI Assistant, Market Hub, Mapping, Design, Features, Automation, Support, EnvKV), el widget del escritorio, la exportación de diagnósticos, los controladores de acciones en lote y los endpoints AJAX de administración del plugin. |
Esta es la capacidad que debe otorgar a un usuario que necesite administrar el propio plugin. Por defecto, solo se añade al rol administrator.
Capacidades del tipo de contenido de vehículos (as24ci_car)
El plugin registra las siguientes capacidades personalizadas para el CPT. Con map_meta_cap = true, WordPress resuelve automáticamente las capacidades singulares ("meta") frente a la propiedad de cada publicación.
| Capacidad | Tipo | Propósito |
|---|---|---|
read_as24ci_car | Meta | Leer un único vehículo. |
edit_as24ci_car | Meta | Editar un único vehículo. |
delete_as24ci_car | Meta | Eliminar un único vehículo. |
read_private_as24ci_cars | Primitiva | Leer vehículos en estado privado. |
edit_as24ci_cars | Primitiva | Acceder al editor de vehículos en general. |
edit_others_as24ci_cars | Primitiva | Editar vehículos propiedad de otros usuarios. |
edit_published_as24ci_cars | Primitiva | Editar vehículos publicados. |
publish_as24ci_cars | Primitiva | Publicar entradas de vehículos. |
delete_as24ci_cars | Primitiva | Eliminar vehículos en general. |
delete_others_as24ci_cars | Primitiva | Eliminar vehículos propiedad de otros usuarios. |
delete_published_as24ci_cars | Primitiva | Eliminar vehículos publicados. |
Estas capacidades siguen el patrón estándar de CPT de WordPress. Controlan el acceso a la tabla de listado de vehículos y a las pantallas del editor en la administración de WordPress y a través de cualquier ruta de código que respete las comprobaciones de capacidad estándar de WordPress.
Tipo de contenido de leads (as24ci_lead)
El tipo de contenido de leads se registra como no público. Intencionadamente no se muestra en la interfaz de usuario de entradas estándar de WordPress y se gestiona exclusivamente desde la pestaña de administración Leads del plugin. El acceso a esa pestaña está restringido por la capacidad manage_as24_imports.
Para obtener más detalles sobre los datos y la gestión de leads, consulte Datos de leads y consentimiento.
Roles creados por el plugin
administrator (existente)
Al activar el plugin o actualizar las capacidades:
- Recibe todas las capacidades de
as24ci_carenumeradas anteriormente. - Adicionalmente recibe
manage_as24_imports.
Esto significa que un administrador estándar puede gestionar el plugin y su contenido directamente desde el primer momento.
as24ci_editor (nuevo rol)
Al activar el plugin o actualizar las capacidades, el plugin crea (o asegura) el rol as24ci_editor con:
- La capacidad básica
read. - Todas las capacidades de
as24ci_carenumeradas anteriormente.
Al rol intencionadamente no se le otorga manage_as24_imports. Los usuarios con este rol pueden gestionar las entradas de vehículos (listar, editar, publicar, eliminar) pero no pueden:
- Abrir los ajustes del plugin, el importador, las herramientas, los logs, las analíticas, los leads, las alertas de búsqueda u otras pestañas de administración.
- Utilizar los controladores AJAX de administración o POST de administración del plugin.
- Ver el widget del escritorio del plugin.
Este rol está pensado para el personal (por ejemplo, un gestor de contenidos) que necesita mantener los registros de vehículos individuales sin tener acceso a la configuración del plugin ni a los datos de las consultas.
Otros roles de WordPress
La extensión no otorga ninguna de sus capacidades personalizadas a los roles WordPress editor, author, contributor o subscriber. Para dar acceso a esos roles, un administrador debe añadir explícitamente las capacidades pertinentes (utilizando un plugin de gestión de roles o código personalizado).
Superficie pública de REST
Se registran dos rutas REST de solo lectura cuando la opción Enable REST API está activada:
GET /wp-json/as24ci/v1/vehiclesGET /wp-json/as24ci/v1/vehicles/{id}
Ambas rutas utilizan un permission_callback de __return_true. Están destinadas a exponer únicamente datos públicos de vehículos y no requieren ninguna capacidad. Desactive la opción en los ajustes del plugin si no desea exponer esta superficie.
El endpoint de importación por cron (/wp-json/as24ci/v1/cron-import) también utiliza __return_true para la comprobación de permisos de WordPress, pero realiza su propia autenticación basada en tokens dentro de la función de devolución de llamada (callback). Consulte las Recomendaciones de seguridad.
Los endpoints AJAX del frontend del plugin utilizados por el formulario de contacto, los favoritos y el flujo de trabajo de alertas de búsqueda dependen de nonces y comprobaciones específicas de la función (por ejemplo, tokens de doble opt-in) en lugar de comprobaciones de capacidad, ya que están destinados a ser llamados por los visitantes del sitio.
Cómo otorgar acceso
El enfoque recomendado es asignar uno de los siguientes:
- Administrador del plugin: asigne el rol WordPress
administrator. - Editor de contenido de vehículos: asigne el rol
as24ci_editor. - Rol personalizado: utilizando un plugin de gestión de roles o un fragmento de código personalizado, añada las capacidades que necesite de las tablas anteriores. Para otorgar acceso completo de administración del plugin sin convertir al usuario en administrador del sitio, añada
manage_as24_importsmás todas las capacidades deas24ci_caral rol personalizado.
Al utilizar un plugin de gestión de roles, las capacidades del plugin aparecen bajo el tipo de contenido as24ci_car y como una capacidad independiente (manage_as24_imports).
Paso a paso: dar acceso a un compañero solo para gestionar vehículos
- Abra Usuarios en la administración de WordPress.
- Edite la cuenta de usuario del compañero.
- En el selector de roles, elija AS24 Editor (el rol
as24ci_editorcreado por el plugin). - Guarde el usuario.
- Verifique que el compañero puede abrir la lista de vehículos estándar bajo el menú de administración AS24 Cars y editar vehículos individuales, pero no puede abrir las páginas de administración del plugin ADP Car Market Hub.
Paso a paso: dar acceso completo al plugin a un compañero
- Confirme que confía en el compañero para gestionar los ajustes del plugin, las credenciales de la API y los datos de los leads.
- Asigne el rol WordPress
administrator, o añada la capacidadmanage_as24_importsy todas las capacidades deas24ci_cara un rol personalizado utilizando su herramienta de gestión de roles. - Inicie sesión como ese usuario y verifique que las páginas de administración del plugin son visibles y que las acciones de administración se completan sin errores de permisos.
Notas operativas
- Las capacidades se aplican durante la activación del plugin y en cada solicitud a través de una rutina "maybe upgrade caps". Si un rol personalizado se elimina y se vuelve a crear externamente, inicie sesión como administrador y recargue la administración de WordPress para dar a la rutina la oportunidad de volver a aplicar las capacidades.
- El rol
as24ci_editorse crea si no existe y se complementa con las capacidades del CPT. Los administradores pueden ampliar el rol con capacidades adicionales de WordPress (por ejemplo, acceso a medios) utilizando un plugin de gestión de roles. - Actualmente, el plugin no elimina el rol personalizado ni las capacidades al desactivarse. Verifique este comportamiento en la versión actual del plugin antes de publicar documentación de procesos que dependa de ello.
- Todos los controladores POST de administración y los endpoints AJAX de administración comprueban la capacidad
manage_as24_importsy un nonce de solicitud como defensa en profundidad, incluso cuando se llaman desde una pantalla que ya requería la capacidad.
Resolución de problemas
- "Lo siento, no tienes permiso para acceder a esta página" en la administración del plugin: el usuario no posee
manage_as24_imports. Otórguela explícitamente o asigne el roladministrator. - Falta el menú AS24 Cars para una cuenta de editor: confirme que el usuario posee al menos
edit_as24ci_cars. Los miembros deas24ci_editoryadministratorsiempre deberían tenerlo. - El rol personalizado recién creado no puede editar vehículos: confirme que el rol posee
edit_as24ci_carsyedit_published_as24ci_carsy que las meta capacidades están mapeadas (map_meta_cap = truees el valor por defecto para el tipo de contenido). - Falta la pestaña de administración de leads: la pestaña Leads solo se muestra a los usuarios que poseen
manage_as24_imports. El rolas24ci_editorno la tiene por diseño. - Los endpoints de vehículos no son accesibles a través de REST: confirme que la opción Enable REST API está activada; las rutas no se registran cuando está desactivada.