Estoy migrando una aplicación CodeIgniter a Kohana, y me gustaría aprovechar el módulo de autenticación de Kohana si es posible. He analizado el esquema de la base de datos "estándar" que usa el módulo de Auth, pero ya tengo tablas y columnas que contienen la información relevante que se nombra y estructuran de manera diferente.
¿Hay alguna forma de cambiar dónde está buscando nombre de usuario/contraseña/correo electrónico, etc. tal vez extendiendo Modelo_user y/o Kohana_auth_orm? Me gustaría usar Orm cuando sea posible.
Me gustaría cambiar los nombres de la tabla y los nombres de columnas para cada elemento, para que pueda personalizarlo por completo.
Si me veo obligado a usar el esquema estándar, esto reducirá la flexibilidad de mi aplicación ...
Tengo una tabla llamada "entidad" donde se almacenan los detalles básicos para (por ejemplo, usuarios, eventos, artículos). Esta tabla no tiene columnas para nombre de usuario/contraseña/correo electrónico porque no se aplicarían a eventos o artículos. Los valores para el nombre de usuario, etc. se almacenan en una tabla de búsqueda, que mapea los datos de la siguiente manera de ejemplo (corte por brevedad).
Table: entity
Columns: entity_id
Table: map_entity_attribute
Columns: entity_id, attribute_id, value
Table: attribute
Columns: attribute_id, name
Datos de ejemplo:
entity.entity_id = 99;
map_entity_attribute.entity_id = 99;
map_entity_attribute.attribute_id = 1;
map_entity_attribute.value = 'ThisIsMyUsername';
attribute.attribute_id = 1;
attribute.name = 'Username';
Espero haber explicado esto claramente al darme cuenta de que el esquema de la base de datos está bastante fuera de lo común.
¡Ojalá alguien pueda señalarme en la dirección correcta!
Muchas gracias, Steve