Está en la página 1de 3

Firefox https://medium.com/@cr0wg4n/django-auth-roles-y-mode...

Modelo Relacional
Algo negativo de Django es que no cuente con una gráfica del modelo relacional de su
migración inicial por defecto en su documentación oficial. Un modelo nos puede
ahorrar el tiempo de comprender el framework o satisfacer las dudas ante la necesidad
de personalizar el Auth que ya existe.

Figura 4. Modelo Relacional Inicial de Django

Indirectamente ya vimos la mayoría de las entidades que trabajan inicialmente en


Django, pero acá les dejo un resumen:

auth_user, entidad que aloja los usuarios.

1 de 3 22/03/21, 14:02
Firefox https://medium.com/@cr0wg4n/django-auth-roles-y-mode...

auth_permision, entidad que aloja los permisos que a su vez esta en función al tipo
de contenido (auth_content_type).

auth_content_type, entidad que hace de almacén de nombres y tipos de las demás


entidades, existe con el fin de darle al framework mayor expresividad.

auth_group_permisions, entidad que agrupa los permisos (auth_permision) y es


lo que denominamos como Rol.

auth_group, entidad que refleja los grupos de permisos (Roles), es una entidad
que en mi opinión esta demás, ya que solo contiene el nombre del grupo de
permisos (Roles) que podría estar en auth_group_permisions, pero me imagino que
es así con fines prácticos al momento de visualizarlos en la interfaz admin.

auth_user_groups, entidad que aloja a que grupo (Rol) pertenece el usuario.

auth_user_user_permissions, entidad bypass (El comodín) para obtener permisos


sin necesidad de pertenecer a un grupo en específico.

django_admin_log, entidad para el seguimiento y registro de las acciones que


realiza el usuario, en otras palabras hace de logger.

django_sesions, entidad para el registro de sesiones (tiempo y caducidad de una


sesión).

django_migrations, entidad para el registro de las migraciones o modificaciones


que se hace a la base de datos con el framework.

Dar un pasito más allá en Auth es hacer el uso de Tokens (códigos de seguridad), esta
práctica permite no tener que involucrar las credenciales (usuario y contraseña) al
realizar las peticiones http a una API (en este caso Django), lo cual reduce
sustancialmente la posibilidad de comprometer las credenciales de cualquier usuario
en el proceso de petición, les dejo un post que explica e implementa dichos Tokens en
Django.

Con ese paso más el modelo relacional queda así:

2 de 3 22/03/21, 14:02
Firefox https://medium.com/@cr0wg4n/django-auth-roles-y-mode...

Figura 5. Modelo Relacional con Tokens

3 de 3 22/03/21, 14:02

También podría gustarte