{"id":1063,"date":"2024-07-31T10:31:09","date_gmt":"2024-07-31T08:31:09","guid":{"rendered":"https:\/\/blog.sutilweb.eu\/?page_id=1063"},"modified":"2024-07-31T10:31:09","modified_gmt":"2024-07-31T08:31:09","slug":"04-sistema-de-autenticacion","status":"publish","type":"page","link":"https:\/\/sutilweb.eu\/index.php\/databases\/modelado-de-bases-de-datos\/04-sistema-de-autenticacion\/","title":{"rendered":"04. Sistema de autenticaci\u00f3n"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Vamos a crear un <strong>sistema de autenticaci\u00f3n<\/strong>, el cual lo utilizan plataformas estandarizadas, como pueden ser <strong>WordPress<\/strong> o personal dedicado a la creaci\u00f3n de <strong>blogs,<\/strong> modificando los <strong>privilegios<\/strong> que puedan tener los distintos <strong>perfiles de usuarios.<\/strong><\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">Lo que vamos a hacer es justamente crear ciertos <strong>perfiles,<\/strong> los cuales tendr\u00e1n ciertos privilegios a la hora en que nos autenticamos en un sistema. Para ello vamos a crear un archivo markdown denominado <em>Autenticacion_LogicaNegocio.md<\/em>, que va a tener la siguiente sintaxis.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Sistema de Autenticaci\u00f3n\n\n## Listado de Entidades\n\n### usuarios **(ED)**\n\n- usuario_id **(PK)**\n- username **(UQ)**\n- password\n- email **(UQ)**\n- nombre\n- apellido\n- avatar\n- activo\n- fecha_creacion\n- fecha_actualizacion\n\n### roles **(EC)**\n\n- rol_id **(PK)**\n- nombre\n- descripcion\n\n### permisos **(EC)**\n\n- permiso_id **(PK)**\n- nombre\n- descripcion\n\n### roles_x_usuario **(EP)**\n\n- rxu_id **(PK)**\n- usuario_id **(FK)**\n- rol_id **(FK)**\n\n### permisos_x_roles **(EP)**\n\n- pxr_id **(PK)**\n- rol_id **(FK)**\n- permiso_id **(FK)**\n\n## Relaciones\n\n1. **Usuarios** tienen **Roles** (_M - M_)\n1. **Roles** tienen **Permisos** (_M - M_)\n\n## Modelo Relacional\n\n## Reglas de Negocio\n\n### usuarios\n\n1. Crear un usuario\n1. Leer todos los usuarios\n1. Leer un usuario en particular\n1. Actualizar un usuario\n1. Validar un usuario\n1. Habilitar un usuario\n1. Inhabilitar un usuario\n1. Actualizar datos de un usuario\n1. Actualizar password de un usuario\n1. Eliminar un usuario\n\n### roles\n\n1. Crear un rol\n1. Leer todos los roles\n1. Leer un rol en particular\n1. Actualizar un rol\n1. Eliminar un rol\n\n### permisos\n\n1. Crear un permiso\n1. Leer todos los permisos\n1. Leer un permiso en particular\n1. Actualizar un permiso\n1. Eliminar un permiso\n\n### roles_x_usuarios\n\n1. Crear un rxu\n1. Leer todos los rxu\n1. Leer un rxu en particular\n1. Leer todos los rxu de un usuario\n1. Eliminar un rxu\n\n### permisos_x_roles\n\n1. Crear un pxr\n1. Leer todos los pxr\n1. Leer un pxr en particular\n1. Leer todos los pxr de un rol\n1. Eliminar un pxr<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Vamos a crear un sistema de autenticaci\u00f3n, el cual lo utilizan plataformas estandarizadas, como pueden ser WordPress o personal dedicado a la&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1050,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_uag_custom_page_level_css":"","footnotes":""},"class_list":["post-1063","page","type-page","status-publish","hentry"],"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"1536x1536":false,"2048x2048":false},"uagb_author_info":{"display_name":"Sutil Web","author_link":"https:\/\/sutilweb.eu\/index.php\/author\/sutilweb\/"},"uagb_comment_info":0,"uagb_excerpt":"Vamos a crear un sistema de autenticaci\u00f3n, el cual lo utilizan plataformas estandarizadas, como pueden ser WordPress o personal dedicado a la...","_links":{"self":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1063","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/comments?post=1063"}],"version-history":[{"count":1,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1063\/revisions"}],"predecessor-version":[{"id":1064,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1063\/revisions\/1064"}],"up":[{"embeddable":true,"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/pages\/1050"}],"wp:attachment":[{"href":"https:\/\/sutilweb.eu\/index.php\/wp-json\/wp\/v2\/media?parent=1063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}