Domain Access Entity
Extiende la funcionalidad de Domain Access a cualquier tipo de entidad con campos, permitiendo control de acceso basado en dominios más allá de solo nodes.
domain_entity
Overview
Domain Access Entity proporciona una solución potente para agregar control de Domain Access a cualquier tipo de entidad con campos en Drupal. Mientras que el módulo principal Domain Access solo maneja el acceso a nodes, este módulo extiende esa capacidad a todos los tipos de entidades incluyendo términos de taxonomía, paragraphs, blocks, media y entidades personalizadas.
El módulo agrega un campo domain_access a los tipos de entidad seleccionados, permitiendo que el contenido sea restringido a dominios específicos. Las entidades sin asignación de dominio permanecen accesibles en todos los dominios. También proporciona un campo domain_source para reescritura de URLs, asegurando que las URLs de las entidades apunten a su dominio canónico.
Los administradores del sitio pueden configurar el acceso por dominio por tipo de entidad y por bundle, eligiendo entre asignación automática de dominio (oculta a los usuarios) o afiliación de dominio seleccionable por el usuario. El módulo se integra con Views y proporciona permisos granulares para crear, editar y eliminar contenido en dominios asignados.
Features
- Habilitar control de Domain Access en cualquier tipo de entidad con campos (términos de taxonomía, paragraphs, blocks, media, etc.)
- Acceso por dominio configurable por bundle de entidad con asignación automática o seleccionable por el usuario
- Campo Domain Source para reescritura de URL canónica entre dominios
- Condiciones de acceso a consultas que filtran automáticamente entidades por dominio actual
- Generación dinámica de permisos para operaciones de crear/actualizar/eliminar por bundle de entidad
- Soporte de actualización por lotes para asignar entidades existentes a dominios predeterminados
- Integración con el sistema de permisos del módulo Domain Access
- Configuración de exclusión de rutas para reescrituras de URL de domain source
- Submódulo para control de acceso a enlaces de menú basado en dominio
Use Cases
Gestión de taxonomía multi-marca
Una empresa con múltiples marcas compartiendo una base de código puede crear términos de taxonomía específicos para el dominio de cada marca. Las categorías de productos, etiquetas y otras taxonomías pueden ser específicas por dominio mientras comparten la misma estructura de vocabulario.
Biblioteca de medios específica por dominio
Las entidades de media pueden ser asignadas a dominios específicos, permitiendo que diferentes sitios mantengan bibliotecas de imágenes separadas mientras usan una instalación compartida de Drupal.
Contenido entre dominios con URLs canónicas
El contenido puede ser accesible en múltiples dominios mientras mantiene una URL canónica en su dominio primario usando la característica de domain source. Esto ayuda con el SEO al evitar problemas de contenido duplicado.
Paragraphs multi-inquilino
Los tipos de Paragraph pueden ser restringidos por dominio, permitiendo que diferentes sitios tengan acceso a diferentes bibliotecas de componentes mientras comparten la misma configuración de paragraphs.
Navegación específica por dominio
Usando el submódulo domain_menu_access, los elementos de menú pueden ser mostrados u ocultados basándose en el dominio actual, permitiendo que cada sitio tenga su propia estructura de navegación.
Tips
- Use la configuración de omitir condiciones de acceso temporalmente para solucionar problemas de acceso sin deshabilitar el módulo
- Asigne usuarios a dominios a través de las opciones de editor afiliado en perfiles de usuario para permitir la gestión de contenido entre dominios
- Al migrar entidades, asegúrese de que las asignaciones de dominio estén incluidas o las entidades se volverán inaccesibles
- El campo domain source determina el dominio de URL canónica, mientras que domain_access controla qué dominios pueden acceder a la entidad
- Para Views que muestran contenido entre dominios, exponga el filtro de campo de dominio para permitir a los editores cambiar entre dominios
Technical Details
Admin Pages 2
/admin/config/domain/entities
Página de configuración principal para habilitar el acceso por dominio en tipos de entidad. Lista todos los tipos de entidad con campos disponibles y permite habilitar/deshabilitar el control de acceso por dominio para cada uno. Proporciona un interruptor rápido para omitir las condiciones de acceso para solución de problemas.
/admin/config/domain/entities/{entity_type_id}
Página de configuración específica por bundle para un tipo de entidad. Configure los ajustes de acceso por dominio para cada bundle incluyendo comportamiento del campo, valores de dominio predeterminados y configuración de domain source.
Permisos 5
Hooks 2
hook_domain_entity_source_alter
Permite a los módulos alterar el domain source para reescritura de URLs de entidades.
hook_domain_entity_source_path_alter
Permite a los módulos agregar manejo de domain source a rutas que no son de entidades.
Troubleshooting 4
Las entidades creadas antes de habilitar el acceso por dominio no tienen asignación de dominio y pueden volverse inaccesibles. Use la característica de actualización por lotes al habilitar el acceso por dominio para asignar entidades existentes a dominios predeterminados.
Deshabilite la reescritura SQL en la configuración avanzada de View (Configuración de Consulta), o agregue manualmente un filtro en el campo domain_access para controlar qué entidades de dominios aparecen.
Asegúrese de que los usuarios tengan el permiso 'access entities affiliate on assigned domains' y estén asignados a los dominios apropiados en las opciones de editor afiliado de su perfil de usuario.
Verifique que el campo domain_source esté habilitado para el bundle de entidad y compruebe que la ruta no esté en la lista de rutas excluidas en la configuración del bundle.
Security Notes 3
- Este módulo restringe el acceso solo a los poseedores del permiso 'administer domains'
- Los permisos dinámicos se generan por bundle de entidad - revise cuidadosamente al agregar nuevos tipos de entidad
- La configuración de omitir condiciones de acceso solo debe usarse temporalmente para depuración, no en producción