1 00:00:01,070 --> 00:00:11,349 En la aplicación que estamos realizando nos gustaría que además pudiéramos acceder, abriendo una sesión, a toda esta gestión de usuarios y departamentos. 2 00:00:11,929 --> 00:00:16,809 Para ello vamos a crear el sistema que tiene de autentificación Symfony. 3 00:00:16,809 --> 00:00:19,769 bueno, vamos a empezar poco a poco 4 00:00:19,769 --> 00:00:21,730 con el terminal y volvemos 5 00:00:21,730 --> 00:00:22,989 a nuestro famoso 6 00:00:22,989 --> 00:00:25,129 a nuestro famoso 7 00:00:25,129 --> 00:00:27,250 entorno de 8 00:00:27,250 --> 00:00:29,289 de 9 00:00:29,289 --> 00:00:31,250 de console 10 00:00:31,250 --> 00:00:33,929 ¿vale? puedo dejar esto funcionando 11 00:00:33,929 --> 00:00:35,530 o cerrarlo y después arrancar 12 00:00:35,530 --> 00:00:37,390 el servidor como Mara ya quiera ¿vale? 13 00:00:37,869 --> 00:00:39,530 yo de momento voy a cerrar 14 00:00:39,530 --> 00:00:41,490 esto y simplemente con un control C 15 00:00:41,490 --> 00:00:42,770 pues paro mi servidor 16 00:00:42,770 --> 00:00:45,369 y voy a hacerlo grande 17 00:00:45,369 --> 00:00:46,609 para que veamos todo bien 18 00:00:46,609 --> 00:01:02,310 Y vamos a ver qué nos propone Symfony Console, qué nos propone para gestionar el tema de accesos seguros a nuestra aplicación. 19 00:01:02,310 --> 00:01:05,530 bueno, uno empieza a ver los make que tenemos por aquí 20 00:01:05,530 --> 00:01:08,769 B1 que dice makeAuth 21 00:01:08,769 --> 00:01:10,909 que tiene aspecto de identificador 22 00:01:10,909 --> 00:01:15,170 y hay otro por aquí que es makeUser 23 00:01:15,170 --> 00:01:19,430 que es para crear una clase de seguridad 24 00:01:19,430 --> 00:01:23,329 bueno, pues vamos a utilizar primero makeUser 25 00:01:23,329 --> 00:01:25,549 y vamos a generar una tabla 26 00:01:25,549 --> 00:01:27,950 para almacenar esta información 27 00:01:27,950 --> 00:01:31,989 entonces vamos a teclear console.makeUser 28 00:01:31,989 --> 00:01:35,980 Y dice, ¿cómo se va a llamar esa clase? 29 00:01:36,200 --> 00:01:37,879 ¿Por qué no podemos llamarla user? 30 00:01:38,000 --> 00:01:39,519 Como dice, por ejemplo, user 31 00:01:39,519 --> 00:01:43,400 Dice, ¿la queremos almacenar en la misma base de todas que estamos trabajando? 32 00:01:43,540 --> 00:01:43,980 Pues sí 33 00:01:43,980 --> 00:01:48,780 Dice, ¿cuál va a ser el campo, el único que vamos a visualizar? 34 00:01:49,459 --> 00:01:52,420 Pues vamos a llamarle, por ejemplo, username 35 00:01:52,420 --> 00:01:54,959 Puede ser un buen nombre, username 36 00:01:54,959 --> 00:02:02,849 Dice, ¿necesita hacer un hash de Power? 37 00:02:02,849 --> 00:02:04,569 lo digo sí, si lo necesitamos 38 00:02:04,569 --> 00:02:06,849 y ya está creada, en este momento ya 39 00:02:06,849 --> 00:02:09,110 tenemos creada esta aplicación 40 00:02:09,110 --> 00:02:10,830 mucho cuidado porque 41 00:02:10,830 --> 00:02:13,110 está claro que todavía no está añadida 42 00:02:13,110 --> 00:02:14,830 ¿vale? esto va a ser algo que 43 00:02:14,830 --> 00:02:16,169 tendremos que hacer después 44 00:02:16,169 --> 00:02:18,830 que es hacer una migración para 45 00:02:18,830 --> 00:02:20,770 actualizar tanto esto como 46 00:02:20,770 --> 00:02:21,889 actualizar el esquema 47 00:02:21,889 --> 00:02:24,610 bueno, podríamos hacerlo en este momento 48 00:02:24,610 --> 00:02:26,590 vamos a actualizar el esquema, si volvemos a 49 00:02:26,590 --> 00:02:29,909 la consola, vamos a hacerlo 50 00:02:29,909 --> 00:02:32,150 y vemos que por aquí 51 00:02:32,150 --> 00:02:33,469 podemos ya directamente 52 00:02:33,469 --> 00:02:36,889 actualizar nuestro esquema 53 00:02:36,889 --> 00:02:39,310 por aquí está, update, ¿de acuerdo? 54 00:02:40,150 --> 00:02:42,870 entonces, bueno, por si surge algún problema 55 00:02:42,870 --> 00:02:45,590 vamos a hacerlo ya y así no se nos olvida 56 00:02:45,590 --> 00:02:49,210 muy bien, lo mismo, nos avisa de que no lo hagamos 57 00:02:49,210 --> 00:02:51,469 en un ambiente de producción y 58 00:02:51,469 --> 00:02:55,189 dice que hay un montón de cosas que tengamos cuidado 59 00:02:55,189 --> 00:02:58,469 para actualizar, etcétera, etcétera 60 00:02:58,469 --> 00:03:01,710 dice, hay que hacer todo esto, muy bien, pues vamos a decirle 61 00:03:01,710 --> 00:03:03,710 que nos ponga un menor 62 00:03:03,710 --> 00:03:06,030 force, por si no he podido 63 00:03:06,030 --> 00:03:07,669 y ahora sí, ahora ya 64 00:03:07,669 --> 00:03:09,509 nos lo actualiza, ¿vale? 65 00:03:11,110 --> 00:03:12,430 Vale, perfecto 66 00:03:12,430 --> 00:03:14,129 pues nada, en este momento ya tenemos 67 00:03:14,129 --> 00:03:15,169 el user 68 00:03:15,169 --> 00:03:16,689 introducido 69 00:03:16,689 --> 00:03:18,750 además 70 00:03:18,750 --> 00:03:21,870 ahora aparte de tener esta 71 00:03:21,870 --> 00:03:23,030 tabla que tenemos aquí 72 00:03:23,030 --> 00:03:25,129 esta entidad 73 00:03:25,129 --> 00:03:28,069 que tenemos aquí de user 74 00:03:28,069 --> 00:03:30,009 voy a quitar esto 75 00:03:30,009 --> 00:03:30,930 para que lo veamos 76 00:03:30,930 --> 00:03:34,150 ¿vale? vemos que ya ha incluido 77 00:03:34,150 --> 00:03:35,590 una serie de cosas que son los roles 78 00:03:35,590 --> 00:03:37,469 ¿qué va a ser este usuario? 79 00:03:37,569 --> 00:03:40,270 ¿va a ser administrador? ¿va a ser simplemente un usuario 80 00:03:40,270 --> 00:03:42,389 de la aplicación? ¿qué va a ser? 81 00:03:42,569 --> 00:03:43,909 ¿de acuerdo? ya veremos como 82 00:03:43,909 --> 00:03:46,289 todo esto podemos ir 83 00:03:46,289 --> 00:03:47,169 rellenando 84 00:03:47,169 --> 00:03:49,949 además nos hace falta introducir 85 00:03:49,949 --> 00:03:52,650 un login de la aplicación 86 00:03:52,650 --> 00:03:54,289 como entramos en la aplicación 87 00:03:54,289 --> 00:03:56,069 y para ello 88 00:03:56,069 --> 00:03:57,530 seguro que tenemos 89 00:03:57,530 --> 00:03:59,509 ya viendo esto 90 00:03:59,509 --> 00:04:03,710 seguro que tenemos algo que nos permite crear la autorización 91 00:04:03,710 --> 00:04:06,849 para entrar, por aquí había algo que era make 92 00:04:06,849 --> 00:04:10,050 vamos a subir un pelín más, emplear 93 00:04:10,050 --> 00:04:15,349 y vamos a ver un make de autorizaciones 94 00:04:15,349 --> 00:04:18,889 bueno, pues vamos a copiar esta opción 95 00:04:18,889 --> 00:04:25,310 me vengo por aquí, y me dice que si vamos a tener 96 00:04:25,310 --> 00:04:29,269 un autenticador con un formulario de login, digo que sí 97 00:04:29,269 --> 00:04:34,350 y dice, ¿cómo lo vamos a llamar a nuestro 98 00:04:34,350 --> 00:04:37,970 identificador? Bueno, pues por ejemplo, le llamamos 99 00:04:37,970 --> 00:04:41,709 LoginAuthenticator 100 00:04:41,709 --> 00:04:44,829 ¿vale? Vamos a llamarle así 101 00:04:44,829 --> 00:04:50,670 dice, ¿cuál va a ser el nombre del controlador de seguridad? 102 00:04:50,670 --> 00:04:54,310 Pues este me parece correcto, SecurityController 103 00:04:54,310 --> 00:04:57,850 dice, ¿vamos a generar un logout? Digo que sí 104 00:04:57,850 --> 00:05:00,009 y en este momento ya lo tenemos 105 00:05:00,009 --> 00:05:01,569 realizado 106 00:05:01,569 --> 00:05:03,209 muy bien 107 00:05:03,209 --> 00:05:08,620 bueno, ¿cómo enganchamos ahora para que salga 108 00:05:08,620 --> 00:05:10,740 nuestro login? pues es curioso 109 00:05:10,740 --> 00:05:12,480 porque si nosotros tecleamos aquí la ruta 110 00:05:12,480 --> 00:05:13,899 login directamente 111 00:05:13,899 --> 00:05:16,560 nos aparece un login 112 00:05:16,560 --> 00:05:18,259 todavía con esta cabecera 113 00:05:18,259 --> 00:05:20,000 es decir, ya empezamos a tener algo 114 00:05:20,000 --> 00:05:21,639 por supuesto que quisiéramos entrar 115 00:05:21,639 --> 00:05:24,199 pues dice que el usuario 116 00:05:24,199 --> 00:05:26,040 no puede ser encontrado y no puede 117 00:05:26,040 --> 00:05:27,319 efectivamente, ¿vale? 118 00:05:28,120 --> 00:05:30,199 con lo cual lo primero que vamos a hacer es poner como raíz 119 00:05:30,199 --> 00:05:33,060 de nuestra aplicación la entrada por este sitio 120 00:05:33,060 --> 00:05:39,759 vamos a ir por aquí, vamos a ir a nuestro editor y vamos a ir 121 00:05:39,759 --> 00:05:43,360 al fichero de rutas, aquel que teníamos, nuestra ruta que teníamos era 122 00:05:43,360 --> 00:05:47,720 el controlador de empleado índice, bueno pues ahora queremos que sea 123 00:05:47,720 --> 00:05:53,129 nuestro controlador de seguridad y dentro de este 124 00:05:53,129 --> 00:05:56,050 queremos que sea login, de acuerdo 125 00:05:56,050 --> 00:06:01,350 guardamos esto y algo ahora hemos conseguido, lo primero que hemos conseguido 126 00:06:01,350 --> 00:06:04,990 es que la ruta efectivamente viene aquí 127 00:06:04,990 --> 00:06:07,949 por supuesto si yo le doy ahora mismo 128 00:06:07,949 --> 00:06:11,769 a cualquier cosa de aquí, esto no va a ningún lado 129 00:06:11,769 --> 00:06:15,209 y el empleado sigue pudiendo entrar 130 00:06:15,209 --> 00:06:17,209 no hay ningún control de momento 131 00:06:17,209 --> 00:06:22,759 de momento no tenemos control, podemos ir a cualquier opción 132 00:06:22,759 --> 00:06:26,980 vayamos a login o no vayamos, podemos ir a cualquier opción 133 00:06:26,980 --> 00:06:30,300 y es algo que no debería ser correcto 134 00:06:30,300 --> 00:06:30,680 ¿de acuerdo? 135 00:06:30,680 --> 00:06:47,680 Entonces, lo que vamos a empezar es a proteger la aplicación. ¿Cómo lo hacemos? Pues nos vamos directamente a la configuración y dentro de este, a la directory of packages, en el cual tenemos un fichero que se llama security. 136 00:06:47,680 --> 00:07:07,959 Bueno, este fichero ya nos ha dicho que utiliza la entidad de usuario con un algoritmo automático de encriptación, que la propiedad que va a visualizar es username, todo eso se lo hemos dicho antes nosotros, que el autentificador está en LoginAuthenticator, también se lo dijimos nosotros, y dice qué control vamos a tener. 137 00:07:07,959 --> 00:07:29,860 Digo, bueno, pues, ¿qué control le vamos a poner a esto? Digo, pues, por ejemplo, este de aquí. Vamos a decirle que en la ruta lo que sea empleado pueda ir un usuario, en la ruta lo que sea departamento pueda ir un usuario. ¿De acuerdo? Bueno, voy a borrar todo esto de aquí, que me sobran líneas, y voy a generarlo. 138 00:07:29,860 --> 00:07:32,319 vamos a ver ahora que nos ocurre 139 00:07:32,319 --> 00:07:34,060 voy a generar esto otra vez 140 00:07:34,060 --> 00:07:36,079 esto efectivamente 141 00:07:36,079 --> 00:07:37,040 está aquí 142 00:07:37,040 --> 00:07:40,399 yo entro y como esto no existe no puedo hacer nada 143 00:07:40,399 --> 00:07:41,759 pero voy a ir a departamentos 144 00:07:41,759 --> 00:07:43,980 y no me deja entrar 145 00:07:43,980 --> 00:07:44,980 ¿vale? 146 00:07:45,720 --> 00:07:48,180 y voy a empleados y no me deja entrar 147 00:07:48,180 --> 00:07:50,220 es decir, de momento 148 00:07:50,220 --> 00:07:52,439 no me deja entrar a nada de la aplicación 149 00:07:52,439 --> 00:07:54,420 si yo no estoy identificado 150 00:07:54,420 --> 00:07:55,980 ya logra protegerlo 151 00:07:55,980 --> 00:07:57,600 ahora tendré que generar usuarios 152 00:07:57,600 --> 00:08:00,870 bueno, estamos viendo 153 00:08:00,870 --> 00:08:03,769 que aquí no nos deja entrar, vemos temas de seguridad 154 00:08:03,769 --> 00:08:07,670 y tendremos que generar un método para que nos deje entrar 155 00:08:07,670 --> 00:08:09,990 tendremos que crear usuarios de esta aplicación 156 00:08:09,990 --> 00:08:12,750 de momento ninguno es concreto 157 00:08:12,750 --> 00:08:14,910 vamos a ver que opciones nos da 158 00:08:14,910 --> 00:08:18,490 Symfony para poder realizar todo esto 159 00:08:18,490 --> 00:08:19,490 voy a abrir la aplicación 160 00:08:19,490 --> 00:08:22,329 y vamos a ver 161 00:08:22,329 --> 00:08:25,329 que nos da Symfony 162 00:08:25,329 --> 00:08:27,670 que nos permita crear 163 00:08:27,670 --> 00:08:28,990 vamos a la consola 164 00:08:28,990 --> 00:08:31,490 y vamos a ver si hay algo que nos pueda permitir 165 00:08:31,490 --> 00:08:33,190 vemos algo de security 166 00:08:33,190 --> 00:08:34,370 codificar power 167 00:08:34,370 --> 00:08:37,570 pero realmente lo que quiero es algo para registrar 168 00:08:37,570 --> 00:08:39,870 para registrar 169 00:08:39,870 --> 00:08:41,409 un formulario 170 00:08:41,409 --> 00:08:42,570 de nuevos usuarios 171 00:08:42,570 --> 00:08:44,309 voy a ver si esto que hay ahí 172 00:08:44,309 --> 00:08:47,350 registration form nos puede valer 173 00:08:47,350 --> 00:08:48,690 me voy aquí 174 00:08:48,690 --> 00:08:51,730 y ejecuto 175 00:08:51,730 --> 00:08:53,570 digo, quiero añadir 176 00:08:53,570 --> 00:08:55,190 una entidad única 177 00:08:55,190 --> 00:08:57,169 a la anotación user 178 00:08:57,169 --> 00:09:00,110 para que no se puedan crear nuevos usuarios 179 00:09:00,110 --> 00:09:01,230 porque de momento digo que sí 180 00:09:01,230 --> 00:09:04,129 quieres enviar un email 181 00:09:04,129 --> 00:09:06,210 bueno, en esta aplicación no nos tenemos email 182 00:09:06,210 --> 00:09:07,789 o sea, vamos a decirle que no 183 00:09:07,789 --> 00:09:11,029 quiere que automáticamente 184 00:09:11,029 --> 00:09:14,529 se autentifique el usuario 185 00:09:14,529 --> 00:09:16,049 después del registro, digo que sí 186 00:09:16,049 --> 00:09:18,649 y en este momento ya tendríamos 187 00:09:18,649 --> 00:09:20,570 una ruta 188 00:09:20,570 --> 00:09:21,450 que registre 189 00:09:21,450 --> 00:09:24,049 para poder añadir nuevos usuarios 190 00:09:24,049 --> 00:09:25,470 vamos a ver si es cierto 191 00:09:25,470 --> 00:09:27,049 voy a ir aquí 192 00:09:27,049 --> 00:09:33,230 Y voy a generar una aplicación que se llame Register. 193 00:09:38,929 --> 00:09:42,049 Va a fallar porque no hemos arrancado la aplicación, lógicamente. 194 00:09:42,250 --> 00:09:42,590 ¿De acuerdo? 195 00:09:43,429 --> 00:09:46,429 Entonces sería bueno volver a arrancar la aplicación. 196 00:09:46,669 --> 00:09:47,210 Ahí la tengo. 197 00:09:47,809 --> 00:09:48,710 Vamos a arrancarla. 198 00:09:49,690 --> 00:09:51,190 Vale, ya está en uso. 199 00:09:51,370 --> 00:09:52,210 Voy a recargar esto. 200 00:09:56,940 --> 00:10:02,360 Y efectivamente, aquí me está permitiendo registrar un usuario. 201 00:10:02,360 --> 00:10:22,679 En este caso estoy poniendo usuario 1, de hardware estoy poniendo clave 1, voy a decir que estoy de acuerdo con los términos de registro y voy a registrar a este usuario, ¿vale? Bueno, ha entrado automáticamente desde ahí, se me ha ido directamente a la lista de empleados, que era la aplicación estándar de ruta, ¿vale? 202 00:10:22,679 --> 00:10:25,059 vamos a ver si ahora 203 00:10:25,059 --> 00:10:27,080 yo tecleo aquí login 204 00:10:27,080 --> 00:10:30,470 y que me deja 205 00:10:30,470 --> 00:10:31,950 donde me deja entrar 206 00:10:31,950 --> 00:10:34,629 bueno, me está diciendo que estás 207 00:10:34,629 --> 00:10:37,669 dentro de la aplicación 208 00:10:37,669 --> 00:10:38,809 como usuario 1 209 00:10:38,809 --> 00:10:40,049 que me puedo salir 210 00:10:40,049 --> 00:10:42,769 y voy a darle 211 00:10:42,769 --> 00:10:44,629 que vaya al usuario 2 212 00:10:44,629 --> 00:10:45,690 vale 213 00:10:45,690 --> 00:10:48,870 entonces me dice el usuario 2 214 00:10:48,870 --> 00:10:50,350 dice no puede ser 215 00:10:50,350 --> 00:10:52,289 siga usted como usuario 1 216 00:10:52,289 --> 00:10:53,330 y hacemos un logout 217 00:10:53,330 --> 00:10:56,950 y vamos a ver que efectivamente estamos ahí 218 00:10:56,950 --> 00:11:00,210 si voy a departamentos no me deja entrar 219 00:11:00,210 --> 00:11:01,909 si voy a empleados no me deja entrar 220 00:11:01,909 --> 00:11:05,610 porque todavía no estoy incluido dentro del fichero 221 00:11:05,610 --> 00:11:08,289 si pincho en signin 222 00:11:08,289 --> 00:11:12,509 pues efectivamente ya me deja entrar aquí y aquí 223 00:11:12,509 --> 00:11:15,269 sería muy interesante tener aquí una opción 224 00:11:15,269 --> 00:11:17,070 para salir de la sesión y cerrarla 225 00:11:17,070 --> 00:11:21,830 bien, nuestra aplicación está funcionando 226 00:11:21,830 --> 00:11:24,149 de hecho tenemos esto aquí 227 00:11:24,149 --> 00:11:31,970 podemos entrar en ella, vemos que nos da un error, aquí dice que hay algo que hacer 228 00:11:31,970 --> 00:11:40,409 y es crear aquí en este programa, incluir una ruta que me redireccione cuando entramos 229 00:11:40,409 --> 00:11:46,649 bueno, pues vamos a ello, vamos a ello directamente, vamos a ir a esta línea 230 00:11:46,649 --> 00:11:49,850 y vamos a incluir aquí 231 00:11:49,850 --> 00:11:54,250 que me redireccione, he seguido el ejemplo que tenemos aquí arriba 232 00:11:54,250 --> 00:11:58,610 a la página empleado index cuando entremos. Voy a grabar esta información 233 00:11:58,610 --> 00:12:04,809 vuelvo a ejecutar y ahora cuando cargue 234 00:12:04,809 --> 00:12:08,149 efectivamente mira. Ya estoy dentro, pero 235 00:12:08,149 --> 00:12:13,049 excepto por este mensaje de aquí, que sé que estoy en usuario 1, yo no veo en mi aplicación 236 00:12:13,049 --> 00:12:16,570 que esté en ningún sitio, con lo cual me convendría poner aquí 237 00:12:16,570 --> 00:12:25,610 salir en este menú de aquí arriba. Vamos a hacerlo yendo a menú HTML al template 238 00:12:25,610 --> 00:12:31,970 y vamos a escribir esta cuestión de aquí. Vamos a escribir simplemente barrita y que 239 00:12:31,970 --> 00:12:39,450 vaya al logout cuando queramos salir. Bueno, pues ahora si ejecuto, efectivamente ya me 240 00:12:39,450 --> 00:12:46,490 aparece esta opción, aunque todavía no me dice quién soy yo. Voy a darle a salir y 241 00:12:46,490 --> 00:12:49,230 efectivamente estoy fuera y ya estoy aquí como anónimo 242 00:12:49,230 --> 00:12:50,169 lo puedo ver aquí abajo 243 00:12:50,169 --> 00:12:53,190 lo único que ocurre es que me siga apareciendo este menú 244 00:12:53,190 --> 00:12:55,169 que no tiene sentido si no estoy todavía 245 00:12:55,169 --> 00:12:56,710 dentro de la aplicación 246 00:12:56,710 --> 00:12:58,710 con lo cual voy a ver si puedo 247 00:12:58,710 --> 00:13:01,350 que solo me salga este menú cuando estoy ya 248 00:13:01,350 --> 00:13:02,049 logueado 249 00:13:02,049 --> 00:13:03,389 vamos a ello 250 00:13:03,389 --> 00:13:07,649 podría incluir incluso el nombre 251 00:13:07,649 --> 00:13:10,009 con el que estoy logueado 252 00:13:10,009 --> 00:13:11,750 y solamente 253 00:13:11,750 --> 00:13:14,409 que muestre este div 254 00:13:14,409 --> 00:13:15,669 esta clase menú 255 00:13:15,669 --> 00:13:19,789 solamente cuando estoy con un usuario identificado 256 00:13:19,789 --> 00:13:23,269 voy a guardarlo y ahora si entro 257 00:13:23,269 --> 00:13:25,370 efectivamente ya no me aparece el menú 258 00:13:25,370 --> 00:13:28,990 una vez que yo me identifique 259 00:13:28,990 --> 00:13:33,009 pues ya vemos que efectivamente sale las dos opciones 260 00:13:33,009 --> 00:13:35,110 usuario y salir 261 00:13:35,110 --> 00:13:37,389 ¿qué me quedaría por hacer? 262 00:13:37,610 --> 00:13:40,269 pues me quedaría una de las cuestiones más importantes 263 00:13:40,269 --> 00:13:43,549 que esta primera pantalla de entrar a la aplicación 264 00:13:43,549 --> 00:13:45,850 fuera un poquito más elegante 265 00:13:45,850 --> 00:13:51,980 para hacer más elegante esto 266 00:13:51,980 --> 00:13:52,779 pues vamos a ir 267 00:13:52,779 --> 00:13:57,840 al formulario donde se genere 268 00:13:57,840 --> 00:13:59,580 lógicamente será aquí 269 00:13:59,580 --> 00:14:01,779 en security login html 270 00:14:01,779 --> 00:14:02,240 twist 271 00:14:02,240 --> 00:14:05,139 y aquí pues bueno 272 00:14:05,139 --> 00:14:07,179 nos aparece un bloque de título 273 00:14:07,179 --> 00:14:09,700 que podemos apreciar 274 00:14:09,700 --> 00:14:10,860 que está aquí arriba, login 275 00:14:10,860 --> 00:14:13,600 que seguramente no lo queremos poner porque seguramente 276 00:14:13,600 --> 00:14:15,039 queremos poner el que había en base 277 00:14:15,039 --> 00:14:17,940 con lo cual directamente lo borramos 278 00:14:17,940 --> 00:14:21,879 y aquí aparecen montones de mensajes de varias cosas 279 00:14:21,879 --> 00:14:24,879 lo más importante pues es lo que vemos 280 00:14:24,879 --> 00:14:29,679 aquí hay un mensajito parecido al que queríamos poner nosotros antes 281 00:14:29,679 --> 00:14:34,320 que podemos traducir incluso por si en algún momento apareciera 282 00:14:34,320 --> 00:14:35,820 de momento no voy a hacerlo 283 00:14:35,820 --> 00:14:46,980 y aquí vamos a poner ingreso en la usuario 284 00:14:46,980 --> 00:14:50,200 username, usuario 285 00:14:50,200 --> 00:14:52,480 y el password, pues claro 286 00:14:52,480 --> 00:14:54,720 con esto 287 00:14:54,720 --> 00:14:56,940 prácticamente ya habré traducido 288 00:14:56,940 --> 00:14:58,820 lo que se visualiza en la aplicación 289 00:14:58,820 --> 00:14:59,840 de todo modo voy a echar 290 00:14:59,840 --> 00:15:02,200 una pequeña mirada 291 00:15:02,200 --> 00:15:04,519 y efectivamente todavía me falta 292 00:15:04,519 --> 00:15:06,419 el botón de 293 00:15:06,419 --> 00:15:07,120 entrar 294 00:15:07,120 --> 00:15:12,379 creo que ya con esto sería suficiente 295 00:15:12,379 --> 00:15:14,379 para la parte de aplicación que vamos a ver 296 00:15:14,379 --> 00:15:16,100 y vamos a ver si es cierto 297 00:15:16,100 --> 00:15:19,610 que eso acaba, y efectivamente 298 00:15:19,610 --> 00:15:23,590 ingreso en la aplicación, tenemos nuestro mantenimiento de empleados, usuario 299 00:15:23,590 --> 00:15:27,850 clave y entrar. ¿De acuerdo? Si quisiéramos que esto no apareciera en una línea 300 00:15:27,850 --> 00:15:31,470 sino que aparecieran varias o cualquier otra cuestión, pues no tendríamos más que 301 00:15:31,470 --> 00:15:35,110 cambiarlo o modificar el formulario. Por ejemplo, 302 00:15:35,529 --> 00:15:39,649 vamos a hacerlo un instante ya que estamos aquí, pues después del 303 00:15:39,649 --> 00:15:42,570 label que aparece aquí, podemos 304 00:15:42,570 --> 00:15:47,870 saltar y aquí igual saltar 305 00:15:47,870 --> 00:15:55,610 Y si ahora venimos aquí, pues efectivamente nos está introduciendo esa información.