Inicio de sesión y registro de usuarios con Spring Security + Thymeleaf + MySQL y Bootstrap

Поделиться
HTML-код
  • Опубликовано: 14 янв 2025

Комментарии • 294

  • @latecnologiaavanza
    @latecnologiaavanza  3 года назад +9

    ⭐ ¿Te gustaría que este contenido siga siendo gratuito?, puedes apoyar al canal con una donación ⭐
    ► BCP Soles : 19496393486055
    ► PayPal : www.paypal.com/paypalme/InfoLibros
    ► Yape : +51 999 509 829
    ⭐ Redes sociales
    ► Instagram : instagram.com/christian_ramireezz/
    ► Grupo de facebook : facebook.com/groups/1708922592652065
    ► Facebook personal : facebook.com/profile.php?id=100025894471693
    Para extraer la parte de logout y header puedes ir al proyecto en GitHub :
    github.com/ChristianRaulRamirez/registro-usuarios-spring

  • @ForestParadise
    @ForestParadise Год назад +15

    Por si alguien lo necesita... a partir del minuto 53:31 comienza a crear el login. Es un video que vale oro, pero necesitamos que lo secciones por partes porque hay mucha información que no necesitan algunas personas.
    Gracias por la explicación minuciosa, pero lo mismo, secciónalo.
    Suerte.

  • @manurodriguez8725
    @manurodriguez8725 2 года назад +42

    00:00 Demostración
    03:25 Creación del proyecto
    05:08 Creación de la Base de Datos
    05:55 Configurando el application.properties
    07:30 Creacndo las entidades
    18:44 creando el repositorio
    19:51 creación del DTO
    22:37 creación del Servicio
    28:07 creación del Controlador
    32:45 Creación del Registro Template
    33:44 Primera compilación del proyecto
    mañana continúo XD

  • @josecastellanos4836
    @josecastellanos4836 2 года назад +11

    Después de meses queriendo implementar Security a mi proyecto al fin pude. Muchas gracias por tu colaboración, me ha sido de gran utilidad

  • @programadoronce935
    @programadoronce935 2 года назад +2

    pude terminar el curso, la verdad aprendo mucho con vos, jaja ya me volvi fan del canal exito en todo bro!

  • @ysrael5550
    @ysrael5550 Год назад +1

    Muy buen video de lo mejor que encontre en internet y el plus que eres compatriota muy bien sigue adelante Inge

  • @MusiCandoPeruviano
    @MusiCandoPeruviano Год назад +7

    El WebConfigurerAdapter ... dice que está deprecado...alguien sabe otra forma de hacerlo? Porfavor

  • @juanmateorodriguezflorez7455
    @juanmateorodriguezflorez7455 2 месяца назад +1

    Una pregunta estúpida bro, si quiero hacer el frond en react me sirve este backend o no?

  • @agustinclemente2508
    @agustinclemente2508 2 года назад +1

    Muchas gracias, aprendo mucho con tus videos!

  • @yodavidsito
    @yodavidsito 9 месяцев назад +1

    Saludos minuto 11:30 ¿EN LA ACTUALIDAD no es necesario implementar getters y setters y ya puedes usar persistencia @Data y listo ?

    • @latecnologiaavanza
      @latecnologiaavanza  9 месяцев назад

      En efecto, trataré de hacer un video actualizado en todo sentido

    • @yodavidsito
      @yodavidsito 9 месяцев назад

      ​@@latecnologiaavanzagenial y gracias esperando ese video actualizado

  • @juanjozm7984
    @juanjozm7984 3 года назад +4

    excelente canal, y la explicación esta al 100..!!!! en todos los temas, no se si puedas contemplar un tutorial de spring con una app de android studio y mysql... no encuentro mucha informacion de la conexion y la relasion entre ellos, saludos!!!!

  • @AngelaMariaEspitiaGomez
    @AngelaMariaEspitiaGomez 9 месяцев назад +1

    en un proyecto asi se puede integrar la logica otros rquerimientos que se necesiten??

  • @hugosanchez8369
    @hugosanchez8369 2 года назад +1

    buenas muy buen video. pero tengo una consulta que hacemos con el websecurityadapter ya esta deprecated

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Hola trata de revisar el siguiente artículo
      www.codejava.net/frameworks/spring-boot/fix-websecurityconfigureradapter-deprecated

  • @WilliamOrlandoPinzónCastañeda
    @WilliamOrlandoPinzónCastañeda Год назад +3

    Amigo, muchas gracias, excelente video, me ayudo muchísimo, pero ahora tengo una cuestión, cuando creo los usuarios, estos se redirigen a la misma pagina, sin importar que sean USER o ADMIN, como puedo validarlo mejor, con un hasRol?, gracias.

  • @ydercotrina315
    @ydercotrina315 Год назад +1

    amigo una consulta porq pusiste el DTO? .... en estos casos me comentaron q no tiene mucha utilidad.... lo consideras como buenas practicas? ... o q funcionalidad tiene?

    • @latecnologiaavanza
      @latecnologiaavanza  Год назад

      Como buena práctica, en este caso es opcional porque no hay muchas relaciones

  • @johnjaironinobecerra2581
    @johnjaironinobecerra2581 2 года назад +1

    hola quisiera hacerte una pregunta, como hago para mostrar los datos del usuario que se loguio, listar solo ese usuario

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Hola esto te puede ayudar :
      es.stackoverflow.com/questions/512910/como-obtener-el-id-del-usuario-logeado-en-spring-boot
      gist.github.com/jsangnet/9068021

  • @gorduxtv503.6
    @gorduxtv503.6 Год назад +1

    WebSecurityConfigurerAdapter esta parte no me lo lee el id, no se si hay algun cambio en esto en la clase de security

  • @alfredozamorano371
    @alfredozamorano371 Год назад +1

    como puedo consumirlos los apis que creaste mas otros nuevos que meta si la seguridad que le metiste no se si eso me lo este bloqueando

    • @latecnologiaavanza
      @latecnologiaavanza  Год назад

      en este curso lo enseño
      ruclips.net/video/dJaY43Butm8/видео.html

  • @walterchamorropalomino2950
    @walterchamorropalomino2950 Год назад +1

    Buenos dias
    Tengo problemas con la clase WebSecurityConfigurerAdapter. Actualmente ya está obseleta. Como puedo trabajar con otra clase para sustituir esta

    • @latecnologiaavanza
      @latecnologiaavanza  Год назад +1

      Hola, pronto voy a publicar un curso sobre eso

    • @gorduxtv503.6
      @gorduxtv503.6 Год назад

      @@latecnologiaavanza lo espero ya que tengo el mismo problema

  • @salvadormariocanizzo1729
    @salvadormariocanizzo1729 Год назад

    Excelente video tutorial, muchas gracias

  • @ericksson97
    @ericksson97 Год назад +1

    Muy buen video, me sirvio mucho
    tengo una duda , si creo un rol directamente desde la BD con rol por ejemplo ADMINISTRADOR, como le encrypto la contraseña en la BD de manera que la aplicacion pueda leerlo con el BCryptPasswordEncoder?

  • @nomadeyoga2157
    @nomadeyoga2157 2 года назад +2

    genial
    gracias amigo muy simpatico

  • @christianvelazquez6380
    @christianvelazquez6380 Год назад +1

    Hola amigo, disculpa yo tengo un problema, en mi proyecto no me permite utilizar el extends de WebSecurityConfigurerAdapter, tengo la dependencia y el maven actualizado, sabes que puede ser?

  • @sagi33delriego82
    @sagi33delriego82 Год назад

    Muy bien explicado, Gracias !

  • @fabriciosoria5496
    @fabriciosoria5496 2 года назад +1

    Hola buenas, excelente video mi pregunta es para que se crea UsuarioDTO si puede usar la de Usuario mismo, es una duda muchas gracias

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Lo usamos para transferir el usuario en JSON
      Te comparto un poco de teoría
      es.wikipedia.org/wiki/Objeto_de_transferencia_de_datos

  • @mm16185
    @mm16185 Год назад +2

    Hola, amigo. Podrías ayudarme, me marca un error:
    Error starting AplicationContext. To display the condition evaluation report re run your application with debug enable

    • @amaydysquimboa1086
      @amaydysquimboa1086 8 месяцев назад

      x2, si pudo solucionar al fin? te agradecería por tu información

  • @alex23481
    @alex23481 8 месяцев назад

    Hola está genial, pero creo que deberías actualizar las librerías del código que se encuentran subidas en el github

  • @managersoft4512
    @managersoft4512 Год назад +1

    para agregar imagen al html el directorio img donde deberia estar precisamente en la carpeta template ? o deberia haber un directorio llamado static que he leido en otras ocaciones ?

  • @oscarsanabria2750
    @oscarsanabria2750 2 года назад +4

    Excelente tutorial 😉 actualmente estoy trabajando con java V17, y me sale un error en la clase UserServiceImpl en el fagmento de codigo (return new User(user.getEmail(),user.getPassword(), mapRoles(user.getRoles()));) reviso el editor y me dice que tengo que implementar unos metodos
    como getAutorities, getPassword o que haga un casteo de UserDetails pero no he podido con ese bug

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад +1

      Hola , que error te sale ? , trata de cambiar a la versión 8 y recuerda que puedes comparar tu código con el del video : github.com/ChristianRaulRamirez/registro-usuarios-spring

    • @oscarsanabria2750
      @oscarsanabria2750 2 года назад

      @@latecnologiaavanza le pido ayuda al editor de texto me exige un casteo, algo así ( public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
      User user = userRepository.findByEmail(username);
      if(user == null) {
      throw new UsernameNotFoundException("user o password invalid");
      }
      //return null;
      return (UserDetails) new User(user.getEmail(),user.getPassword(), mapearAutoridadesRoles(user.getRoles()));
      }) y inicio la aplicacion y arroja bug pero al comentar esta linea ( return (UserDetails) new User(user.getEmail(),user.getPassword(), mapearAutoridadesRoles(user.getRoles()));) y retor un null ya me deja arrancar la app pero no me valida el usuario en el login

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      @@oscarsanabria2750 no te entiendo

    • @Agony1235oficial
      @Agony1235oficial 2 года назад +3

      @@oscarsanabria2750 Oscar, creo que te pasa esto porque el nombre de tu entidad es User al igual que la clase User de Spring. Deberías o bien renombrar tu entidad User, o bien, en el return poner "new org.springframework.security.core.userdetails.User(user.getEmail(), user.getPassword(), mapearAutoridadesRoles(user.getRoles()));)"

    • @elvismartinez287
      @elvismartinez287 2 года назад

      @@Agony1235oficial Buena sugerencia Sergio, gracias.

  • @danieruandres1378
    @danieruandres1378 2 года назад

    hola cuando corriges el div de la linea 44 en el minuto 50:36 y cargo de nuevo en el navegador me da error

  • @joza8954
    @joza8954 7 месяцев назад

    brazil right here my brother , you save me.

  • @alfredozamorano371
    @alfredozamorano371 Год назад

    @alfredozamorano371
    como quedaria el body request para poder consumir el api que creaste el de la lista de usuarios registarados?

  • @jeanpaulb.l5639
    @jeanpaulb.l5639 6 месяцев назад

    si la contraseña no esta siendo guardad cifrada, no sirve el login?

  • @rockeespinoza9324
    @rockeespinoza9324 3 года назад +1

    Explicas muy bien. Gracias por ayudar a la comunidad

  • @duvanespinosa6214
    @duvanespinosa6214 2 года назад

    Porque usas la anotacion @Controller?, tambien se puede usar @RestController?

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Aquí a detalle la diferencia :
      programmerclick.com/article/42651619996/

  • @Midnaito
    @Midnaito 2 года назад +4

    Hola, primero que nada, gracias por el video, aprendí muchas cosas. Quería comentarte algo sobre la aplicación: Cuando uno crea un usuario nuevo, crea un rol nuevo al mismo tiempo, aun cuando ese nuevo rol sea idéntico a un rol ya existente. Esto causa que se cree un nuevo rol con un nuevo id pero con un mismo nombre, lo cual complica la tabla de relación entre el usuario_id y el rol_id, ya que el rol_id siempre será un id nuevo por más que se trate de un mismo rol. Habría alguna forma de lograr que al crear el nuevo usuario, este se relacione con roles ya existentes? O que al momento de crear el rol, se checkee si ese rol ya existe?

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Gracias , tengo algo similar en el siguiente video 👇
      ruclips.net/video/H8lbgOEdZ9E/видео.html

  • @louiskrex7332
    @louiskrex7332 3 года назад +1

    Compañeros hola a todos, una ayuda, con thymeleaf genera este error -> Resource registered by this uri is not recognized (Settings | Languages & Frameworks | Schemas and DTDs), gracias

    • @latecnologiaavanza
      @latecnologiaavanza  3 года назад

      Hola , te comparto algunos recursos
      www.jetbrains.com/help/idea/referencing-xml-schemas-and-dtds.html

  • @francogutierreztamayo475
    @francogutierreztamayo475 Год назад

    no entiendo porque no es necesario un metodo post para recibir las credenciales del usuario enviadas por formulario

  • @ikeving931
    @ikeving931 Год назад

    MINUTO 27:00 posible solución, asignar roles
    52:10 SI ESTAS REGISTRADO HAZ CLICK AQUI
    controlador = requestmapping, mapea y return "html"
    59:00 encriptación de la contraseña
    1:12:00

  • @mimarumo
    @mimarumo 2 года назад

    Hola, excelente contenido, una consulta .Si quiere enviar también el id en el token donde lo agrego?

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Hola tengo un vídeo sobre JWT ruclips.net/video/dJaY43Butm8/видео.html

  • @blue_mustang_
    @blue_mustang_ 2 года назад +1

    si tienen problemas al insertar los datos en la tabla de usuarios, chequeen el campo id de usuario que se haya generado con la prop AI(auto increment) en mysql workbench , tuve ese problema y lo solucione eliminando esa table y volviendo a crearla (tienen que desactivar la relacion de claves foraneas antes para que te deje hacerlo)

  • @danieruandres1378
    @danieruandres1378 2 года назад

    en el minuto 32:50 donde crea el archivo html a mi no me sale la opción de crear archivos html

  • @jessy2819
    @jessy2819 3 года назад +1

    Tienes exelente material

  • @richardcampos92
    @richardcampos92 2 года назад

    Muy buen video tutorial, solo un punto de vista personal, pero creo que todos los chicos que aprenden a programar lo hacen en ingles, y es mucho mejor seguir en esa nomenclatura, porque si no los metodos ya definidos los declaras en ingles como vienen en java y lo demas lo pones en español y nace la confución. Saludos!

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Hola ,para estos es necesario tener conocimientos sólidos de Spring boot

  • @cesararamayo1224
    @cesararamayo1224 3 года назад

    Buenas noches empeze a mirar tus videos .. vi que en este del login en vez de un autowired para inyectar utilizaste un constructor y queria consultarte en el controller en vez de usar una anotation @RestController usaste @Controller que diferencia hay entre una y la otra ??

    • @latecnologiaavanza
      @latecnologiaavanza  3 года назад +1

      Hola , aquí explico la diferencia entre @Controller y @RestController ruclips.net/video/s3CME_Pufww/видео.html

    • @cesararamayo1224
      @cesararamayo1224 3 года назад

      @@latecnologiaavanza muchas gracias!!!

    • @latecnologiaavanza
      @latecnologiaavanza  3 года назад +1

      @@cesararamayo1224 👍

  • @cristiansmithgaleanosanche6038
    @cristiansmithgaleanosanche6038 2 года назад

    hola excelente video, una pregunta puedo utilizar como IDE Visual Studio Code para relizar este tipo de login?

  • @lofi-dev
    @lofi-dev 2 года назад

    Pregunta habrá nuevo video con la actualización de springboot 3.0 estaría super 👏🏼👏🏼👏🏼

  • @nomadeyoga2157
    @nomadeyoga2157 2 года назад +1

    Muy recomendado, completé el tutorial y logré aprender muchisimo, MUY agradecdido y es muy simpatico para enseñar .Quisiera tomar el proyecto como una base para mi propia idea, para ello debo agregar campos al usuario, y roles, tienes algun tutorial similar o me das algun feedback,
    de nuevo muchas gracias joven genio figura titan

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад +1

      Un gusto ayudarte ✅
      Te invito a que veas los demás videos , saludos y bendiciones

    • @nomadeyoga2157
      @nomadeyoga2157 2 года назад +1

      @@latecnologiaavanza sin duda veré más vídeos, y si me va bien vas a verme en las donaciones 🎉🎉

  • @juanprogramacion9767
    @juanprogramacion9767 3 года назад

    yo he visto que la relacion de tablas la hacen de uno a muchos, es correcto ? o que ventajas o desventajas tiene
    por que no hace otra tabla para join si no que lo hace solo con usuarios y rol

    • @latecnologiaavanza
      @latecnologiaavanza  3 года назад +1

      Un usuario puede tener muchos roles , en en canal tengo un curso de relaciones entre tablas desde cero en spring boot , te comparto el link ruclips.net/video/yZXjA4wLR78/видео.html

  • @alfredozamorano371
    @alfredozamorano371 Год назад

    una pregunta en postman no puedo consumirlos es por la seguridad que le metiste?

    • @latecnologiaavanza
      @latecnologiaavanza  Год назад

      Hola, normalmente se usa postman para consumir APIs REST pero también lo puedes hacer , le pasas el user y el password

    • @alfredozamorano371
      @alfredozamorano371 Год назад

      como quedaria el body request para poder consumir el api que creaste el de la lista de usuarios registarados por ejemplo@@latecnologiaavanza

    • @alfredozamorano371
      @alfredozamorano371 Год назад

      como quedaria el body request para poder consumir el api que creaste el de la lista de usuarios registarados por ejemplo @latecnologiaavanza
      @@latecnologiaavanza

  • @masterJAMG
    @masterJAMG 2 года назад +1

    Excelente video 👌

  • @CarlosBerrocal555
    @CarlosBerrocal555 2 года назад

    porque utilizas el services implements no es igual q dejaras el services usuario normal ?

  • @AntonioReyes-dz6wz
    @AntonioReyes-dz6wz Год назад

    Muchas GRacias

  • @francogutierreztamayo475
    @francogutierreztamayo475 Год назад

    no tienes el SQL, el registro de rol por defecto es Admin??

  • @victorgabriel-kd5me
    @victorgabriel-kd5me 3 года назад +1

    Gracias bro

  • @josetorres1889
    @josetorres1889 2 года назад

    una pregunta amigo como seria la creación
    de las tablas con sql developer

  • @ramixeneize
    @ramixeneize 2 года назад

    Una consulta estoy viendo el curso y esta muy bueno pero no me quedó en claro en claro lo de rol y usuario, es decir un usuario puede tener uno o mas roles pero a muchos roles le puede pertenecer a un usuario. No sería una relación ManyToOne ( pienso que es asi porque un usuario puede tener muchos roles ( administrador, vendedor, repositor, etc). O si me equivoco me podrias explicar?

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Un Usuario puede tener muchos roles y muchos roles le pueden pertenecer a un usuario , por eso uso @ManyToMany a eso se refiere uno a muchos por ambas entidades

    • @josuegutierrez1841
      @josuegutierrez1841 2 года назад

      Hola @ramixeneize, para que te quede un poco más claro, fíjate en la cardinalidad de la tabla destino, es decir:
      - Un Usuario puede tener uno o MUCHOS Roles,
      y de forma inversa
      - Un Rol puede pertenecer a uno o MUCHOS Usuarios.
      Por lo tanto, si esas condiciones se cumplen sería una relación de MUCHOS a MUCHOS.
      PD. Trata de aplicar el mismo concepto en otras tablas que tengas, así lo aprendí yo en la Universidad y me resultó más sencillo hallar las relaciones entre tablas.
      Saludos

    • @ramixeneize
      @ramixeneize 2 года назад

      @@latecnologiaavanza muchas gracias ahora voy entendiendo es como una provincia puede tener muchas localidades pero muchas localidades puede pertenecer a una provincia.

    • @ramixeneize
      @ramixeneize 2 года назад

      @@josuegutierrez1841 muchísimas gracias

    • @ramixeneize
      @ramixeneize 2 года назад

      @@latecnologiaavanza otra consulta tengo una clase persona y la clase usuario. Resulta que la clase usuario hereda de persona pero me dice un error de herencia o por lo que entiendo tiene que ser todo en una tabla. Estoy usando mysql. Para que se entienda una persona puede tener ud nombre apellido DNI dirección etc y la clase usuario hereda de persona esos atributos pero cuando compilo me da un error de inheritance no recuerdo muy bien pero me dice que no debe estar como en dos tablas o algo así. Tienes algún tutorial de inheritance con respecto a spring Boots ?

  • @programadoronce935
    @programadoronce935 2 года назад

    buenas buen video, estoy empezando en el mundo del back end, como obtuviste todo ese conocimiento? consejos porfa

  • @ulquiorra723cifer7
    @ulquiorra723cifer7 2 года назад

    cuando generas los constructores para usuario.java el super(); que se supone que hace? ya que tuve que añadirlo manualmente en visual studio

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад +1

      open-bootcamp.com/cursos/java/el-metodo-super

    • @ulquiorra723cifer7
      @ulquiorra723cifer7 2 года назад

      @@latecnologiaavanza si quisiera que un usuario pudiera actualizar o eliminar sus datos específicamente como seria ?

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад +1

      @@ulquiorra723cifer7 puedes implementarlo con una petición put y delete

  • @francogutierreztamayo475
    @francogutierreztamayo475 Год назад

    quiero mostrar el username que se ingresa en el formulario en la vista index, es imposible, no la carga

    • @latecnologiaavanza
      @latecnologiaavanza  Год назад

      te recomiendo que mires el video de Spring Security con Angular que tengo en mi canal la parte de seguridad

  • @CarlosHernandez-en7my
    @CarlosHernandez-en7my 2 года назад

    hola buenas tardes tengo un problema me dice que WebSecurityConfigurerAdapter esta deshabilitado porque se puede reemplazar ya que esta dependencia ya no funciona

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад +2

      Puedes solucionarlo con SecurityFilterChain
      www.bezkoder.com/websecurityconfigureradapter-deprecated-spring-boot/

  • @eduardosanchez3794
    @eduardosanchez3794 3 года назад +1

    Podrías hacer uno con anagular, excelentes videos estimado

  • @bardock.supersayajin9607
    @bardock.supersayajin9607 2 года назад

    una pregunta si yo quisiera hacer que al crear un usuario identifique el rol me refiero si es un usuario comun o si es un administrador como podria hacer o haria lo mismo?

  • @marcovinicioperezzhindon1340
    @marcovinicioperezzhindon1340 2 года назад

    Gracias amigo

  • @wheiekld
    @wheiekld Год назад

    Una ayuda, eh estado tratando de correrlo, arreglando lo de la obsolescencia y todavía me salen muchos errores

    • @latecnologiaavanza
      @latecnologiaavanza  Год назад +2

      Hola bro, te paso este enlace reflectoring.io/spring-security/ trataré de publicar un nuevo video

    • @DextraAoV-gz6or
      @DextraAoV-gz6or Год назад

      ​@@latecnologiaavanzasería bueno un vídeo actualizado con spring 3.1.1, ya que la versión que usaste quedó obsoleta. Además usando lombok que es súper útil y fácil de emplear

  • @juandavidgalindobarrios5843
    @juandavidgalindobarrios5843 2 года назад

    amigo como estas una pregunta. ¿ puedo utilizar lombok para evitar la repeticion de codigo en las clases y en el dto?

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Si puedes usarlo

    • @juandavidgalindobarrios5843
      @juandavidgalindobarrios5843 2 года назад

      @@latecnologiaavanza ok compañero, pero tengo otra pregunta en el caso del ejércicio que estás haciendo en el vídeo. Bueno como creas un constructor para cada variable, también puedo usar el lombok

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      @@juandavidgalindobarrios5843 si

  • @ositochann
    @ositochann 2 года назад

    ¿En lugar de dar "añadir setters y getters" se puede añadir arriba de @Entity @Setter y @Getter?, ¿Cuál es la diferencia?

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад +1

      Si también se puede , es lo mismo solo que más simplificado con lombok

    • @ositochann
      @ositochann 2 года назад

      @@latecnologiaavanza Gracias por contestar:)
      Tengo un problema, cada que quiero acceder a los datos de las tablas (para mostrarlos, por ejemplo) no me los muestra y aparece error como "null pointer"

  • @anacarreno4371
    @anacarreno4371 2 года назад

    En este proyecto login usas BCryptPAsswordEncoder y en el proyecto del PDF y Excel usas PasswordEncoder cuando usar uno y cuando el otro o no hay diferencia?

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      la clase pública BCryptPasswordEncoder extiende Object implementa PasswordEncoder. Implementación de PasswordEncoder que utiliza la función hash fuerte de BCrypt.
      docs.spring.io/spring-security/site/docs/3.2.3.RELEASE/apidocs/org/springframework/security/crypto/bcrypt/BCryptPasswordEncoder.html#:~:text=public%20class%20BCryptPasswordEncoder%20extends%20Object,BCrypt)%20and%20a%20SecureRandom%20instance.

  • @lizbethmelgarejo5406
    @lizbethmelgarejo5406 2 года назад

    Bueno quisiera saber soy nueva en esto yo no se usar mucho eclipse pero si NetBeans pero me confundo un poco.

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Puedes usarlo no hay problema siempre y cuando tengas conocimientos en Spring boot

  • @juanprogramacion9767
    @juanprogramacion9767 3 года назад +1

    Hola brow llevo dos dias con tu video la verdad lo vi para un proyecto personal pero al crear el bean para encriptar la contraseña me sale que mi clase es decir la clase donde esta ese bean tiene el siguiente error Requested bean is currently in creation: Is there an unresolvable circular reference? ya investigue y segun con la notacion componetSt¿can deveria de funcionar pero no jala ya lo hice de tu manera pero me da exactamente el mismo error :C

    • @latecnologiaavanza
      @latecnologiaavanza  3 года назад

      hola , te comparto el código fuente github.com/ChristianRaulRamirez/registro-usuarios-spring

    • @eddiemarxmallmaalvarez1134
      @eddiemarxmallmaalvarez1134 3 года назад +1

      Hola juan, también tuve el mismo problema que mencionas, al parecer este error se da por que spring detecta que se 'encodea' ciclicamente, por lo que la mecánica del desarrollo no es pulida. Aún así puedes levantar el proyecto configurando el application.properties con lo siguiente: spring.main.allow-circular-references=true **espero te sirva de ayuda

    • @latecnologiaavanza
      @latecnologiaavanza  3 года назад

      @@eddiemarxmallmaalvarez1134 ✅

    • @juanprogramacion9767
      @juanprogramacion9767 3 года назад

      @@eddiemarxmallmaalvarez1134 lo checare bro, aunque ya le di solución, lo que hice fue donde tengo mi bean agregar la palabra static y asi ya no me salio el erro, muchas gracias brother

    • @latecnologiaavanza
      @latecnologiaavanza  3 года назад

      @@juanprogramacion9767 perfecto

  • @anacarreno4371
    @anacarreno4371 2 года назад

    Muy buenos videos Cristhian. tengo una duda ya llevo viendo varios de tus videos y la duda es si estas usando Spring Boot o es Spring MVC.? o como me puedo dar cuenta cual?

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Spring Boot , aquí te comparto una fuente para que la veas
      www.grupoebim.com/post/diferencias-entre-spring-boot-y-spring-mvc#:~:text=Spring%20Boot%20es%20un%20marco,vista%20de%20modelo%20utilizando%20DispatcherServlet.

  • @carlospuyana6068
    @carlospuyana6068 2 года назад

    Hola bro, tienes alguno de Inicio de sesión en Angular + Spring?

  • @carlosanuarlopezmonje1006
    @carlosanuarlopezmonje1006 Год назад

    Hola, yo trabajo desde visual studio code pero al momento de correrlo no sale error, pero en VS aparece como una pequeña terminal en la parte superior que indica que el programa se está ejecutando y de ahí puedo visualizarlo después en el localhost:8080 pero al correrlo esta terminal desaparece y no abre en el puerto 8080, entonces será un problema con los repositorios? gracias

  • @antobra0168
    @antobra0168 Год назад

    Hola, buen día.
    Tengo una duda.
    Cuando le doy al botón de registrar, no me salta el mensaje de "Registro exitoso", me arroja un error y salta un mensaje de "Whitelabel Error Page
    This application has no explicit mapping for /error, so you are seeing this as a fallback."
    ¿Sabrás el motivo?
    Seguí todos tus pasos y también descargue tu código, pero me sigue mostrando el mismo error.

    • @latecnologiaavanza
      @latecnologiaavanza  Год назад

      No sabría decirte la verdad, trata de usar otra versión del JDK u otra versión de bootstrap, en todo caso publica todo lo que te sale en la consola

  • @JonathanOrtiz-nc8yl
    @JonathanOrtiz-nc8yl 3 года назад

    en el minuto 52, cuando le doy en el boton registrar, me sale error

  • @raquelprivado6878
    @raquelprivado6878 2 года назад

    Hola, primero muchas gracias por tus videos, me estan siendo de gran ayuda.
    Y ahora a por la pregunta, cuando pongo extends WebSecurityConfigurerAdapter me dice que esta "deprecation", ¿qué puedo hacer para solucionar este problema?, ¿hay alguna otra libreria que pueda usar que me haga la misma función?
    Mil gracias por adelantado.
    Raquel

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Gracias , que raro que versión de Spring boot tienes trata de comparar con el proyecto que está en la descripción

    • @raquelprivado6878
      @raquelprivado6878 2 года назад +1

      @@latecnologiaavanza hola, la mia es 2.7.0 y la tuya es la 2.5.7, alguna idea para que me coja la libreria sin problemas???, he estado mirando por internet pero la soluciones que yo he visto me parecen demasiado complicadas y rebuscadas, creo que tiene que existir alguna forma más sencilla, o eso espero. X)

    • @aixa4412
      @aixa4412 2 года назад

      Me pasa igual, termina tachado. Lograste encontrarle solución?
      La versión no hace diferencia, yo trabajo sin ella y aún así me tira ese error

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад +1

      @@aixa4412 www.codejava.net/frameworks/spring-boot/fix-websecurityconfigureradapter-deprecated#:~:text=The%20type%20WebSecurityConfigurerAdapter%20is%20deprecated,-So%2C%20why%20Spring&text=Well%2C%20it's%20because%20the%20developers,a%20component%2Dbased%20security%20configuration.

    • @leocalderon2774
      @leocalderon2774 Год назад

      Hola, a mi me funciono de esta manera, se los dejo a los demas chicos que pasen por aqui en un futuro, mucho exito :)
      import com.registro.usuarios.servicio.UsuarioServicio;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;
      import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
      import org.springframework.security.config.Customizer;
      import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
      import org.springframework.security.config.annotation.web.builders.HttpSecurity;
      import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
      import org.springframework.security.config.annotation.web.configuration.WebSecurityCustomizer;
      import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
      import org.springframework.security.web.SecurityFilterChain;
      @Configuration
      @EnableWebSecurity
      public class SecurityConfiguration {
      @Autowired
      private UsuarioServicio usuarioServicio;
      @Bean
      static public BCryptPasswordEncoder passwordEncoder() {
      return new BCryptPasswordEncoder();
      }
      @Bean
      public DaoAuthenticationProvider authenticationProvider() {
      DaoAuthenticationProvider auth = new DaoAuthenticationProvider();
      auth.setUserDetailsService(usuarioServicio);
      auth.setPasswordEncoder(passwordEncoder());
      return auth;
      }
      protected void configure(AuthenticationManagerBuilder auth) throws Exception {
      auth.authenticationProvider(authenticationProvider());
      }
      @Bean
      public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
      http
      .authorizeHttpRequests(authorize -> authorize
      .requestMatchers("/registro**", "/js/**", "/css/**", "/img/**").permitAll()
      .anyRequest().authenticated()
      )
      .formLogin(formLogin -> formLogin
      .loginPage("/login")
      .permitAll()
      )
      .rememberMe(Customizer.withDefaults());
      return http.build();
      }
      @Bean
      public WebSecurityCustomizer webSecurityCustomizer() {
      return (web) -> web.ignoring().requestMatchers("/images/**", "/js/**", "/webjars/**");
      }
      }

  • @a.d.cgonzales4118
    @a.d.cgonzales4118 Год назад

    Amigoo no explicaste la base de datos :( puedes hacerlo pronto el video de crear un usuario .. si es así cuando lo harás.. necesito un héroe con capa mano por favorr hazlo en estos días te ruegoo

  • @JonathanOrtiz-nc8yl
    @JonathanOrtiz-nc8yl 3 года назад

    si yo ya tengo una base de datos creada, pero no tengo las tablas usuario ni roll, podria crear esas dos tablas sueltas? o necesariamente tiene que tener algun tipo de relacion con las demas tablas de mi base de datos ya creadas?

    • @latecnologiaavanza
      @latecnologiaavanza  3 года назад

      Hay una relación de muchos a muchos entre Rol y usuario es recomendable trabajar con relaciones

    • @JonathanOrtiz-nc8yl
      @JonathanOrtiz-nc8yl 3 года назад

      @@latecnologiaavanza me refiero di ya hay una base de datos con tablas como categoría, ventas, clientes, etc
      lo otro que te quería preguntar es que si das clase personalizada

    • @latecnologiaavanza
      @latecnologiaavanza  3 года назад

      @@JonathanOrtiz-nc8yl no necesariamente tienen que tener relación con las otras clases

    • @JonathanOrtiz-nc8yl
      @JonathanOrtiz-nc8yl 3 года назад

      @@latecnologiaavanza por fa, quisiera saber si das curso personalizado

    • @latecnologiaavanza
      @latecnologiaavanza  3 года назад

      @@JonathanOrtiz-nc8yl hola , no

  • @ronaldrodriguez2927
    @ronaldrodriguez2927 2 года назад

    Hola buen video, solo una consulta, a mi en el Login me sigue saliendo el por defecto, no el Login.html que creé; al parecer hay un conflicto con mi Spring en el SecurityConfiguration ya que el extends WebSecurityConfigurerAdapter me sale como en desuso y estoy usando el extends WebSecurityConfiguration, creo que allí esta el error; sabes si hay alguna otra forma de hacer el Login sin usar el WebSecurityConfigurerAdapter, o cual sería su reemplazo. Gracias.

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Si hay pero eso está en los otros videos puedes ir mirándolos

    • @ronaldrodriguez2927
      @ronaldrodriguez2927 2 года назад

      @@latecnologiaavanza Ok, gracias, estoy mirando tus otros videos, tambien busqué en otros y hacen el Login muy parecido pero igual usando el extends WebSecurityConfigurerAdapter, ahorita estoy viendo el de los Trailers de Peliculas, solo que son muchos videos, por favor podrías indicarme en qué video lo puedo encontrar, te lo agradecería mucho.

    • @manuelalejandro5862
      @manuelalejandro5862 2 года назад

      @@ronaldrodriguez2927 pudiste resolverlo amigo? yo tengo un problema porque encontre que el sustituto es "SecurityFilterChain" pero al intercambiar lo necesario me sale un error en la funcion ".antMatchers()"; el ide me muestra la leyenda "The method antMatchers(String, String, String, String) is undefined for the type ExpressionUrlAuthorizationConfigurer.ExpressionInterceptUrlRegistry"
      Ya intenté todo y no puedo arreglarlo

    • @sergioenriqueignaciopereir2754
      @sergioenriqueignaciopereir2754 Год назад

      @@latecnologiaavanza hola, tengo el mismo problema, algun consejo ? gracias!

    • @leocalderon2774
      @leocalderon2774 Год назад

      Hola, si lo pudiste resolver, justo ando en eso, ya esta en desuso, pudiste resolverlo?

  • @elvismartinez287
    @elvismartinez287 2 года назад

    Bro, una consulta, al utilizar el security, ¿Con qué usuario podría entrar a mi Swagger? Una vez implementando ya no me devuelve la contraseña por defecto.

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Hola , te recomiendo revisar foros sobre eso , no recuerdo la verdad uso más POSTMAN

  • @Animemarkotaku
    @Animemarkotaku Год назад

    Ay caray a mi no me funciona el logout y eso que está configurado en el archivo de seguridad.

    • @latecnologiaavanza
      @latecnologiaavanza  Год назад

      Te sale algún error ?

    • @leocalderon2774
      @leocalderon2774 Год назад

      Tampoco a mi, me aparece en blanco como si no estuviera mapeado, pudiste solucionarlo?

    • @leocalderon2774
      @leocalderon2774 Год назад

      Ya lo encontre asi queda:
      Logout


      Lo pones despues de: Registro e inicio de sesión

  • @danielcardenas4879
    @danielcardenas4879 Год назад

    amigo una pregunta todavia sigue sirviendo para usarlo con spring security 6.1 ? cambiaron algunas cosas van dentro de lambads ahora el and() lo eliminaron y otras cositas pero si se puede hacerlo ?

    • @latecnologiaavanza
      @latecnologiaavanza  Год назад +1

      Para esa versión se usa securityfilterchain y no websecurityconfigureradapter

    • @danielcardenas4879
      @danielcardenas4879 Год назад

      @@latecnologiaavanza Y imagino que lambas y ya no se usa el and() jaja ando apendiendo pero creo que si sirve solo modificando eso y amigo para que en ves de mostrar la lista de usuarios me muestre la pagina principal que tengo con navbar y todo la debo llamar y darle permitall cuando se logee ?

    • @latecnologiaavanza
      @latecnologiaavanza  Год назад +1

      Si para que cualquier usuario pueda acceder

    • @danielcardenas4879
      @danielcardenas4879 Год назад

      @@latecnologiaavanza si jaja y leyendo la documentacion creo que quieren hacer que spring security sea mas facil de aprender estan simplificando muchas cosas pero hay voy aprendiendo jaj

  • @AbrahamPeraltaLLicahua
    @AbrahamPeraltaLLicahua 3 года назад +1

    Buen material bro

  • @francogutierreztamayo475
    @francogutierreztamayo475 Год назад

    No puedo mostrar los datos del usuario que se logeo, es que en mi tabla usuarios hay otros atributos, no se que rayos hice mal

    • @latecnologiaavanza
      @latecnologiaavanza  Год назад

      Ni idea bro trata de usar el código fuente que está en la descripción

  • @BALTA-y1q
    @BALTA-y1q 3 года назад +1

    Sigue así bro 💪

  • @manurodriguez8725
    @manurodriguez8725 2 года назад

    Cuál es la diferencia entre @Controller y @RestController?

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Aquí a detalle la diferencia :
      programmerclick.com/article/42651619996/

  • @NumerosyLetras14752
    @NumerosyLetras14752 3 года назад

    Oye y para crear una aplicacion tipo WhatsApp se puede en java?

  • @manuelortiz7000
    @manuelortiz7000 5 месяцев назад

    Amigo a esta fecha ando viendo el video, me ha servido de manera impresonante, muchas gracias pero sigo teniendo el mismo error que tuviste ya casi finalizando que era que en el archivo login.html no se le habian dado el nombre a los campos, lo tengo tal cual debe ser pero me sigue arrojando usuario y contraseña incorrecta¡ no se que mas hacer, ayudaaaa¡¡

    • @latecnologiaavanza
      @latecnologiaavanza  5 месяцев назад

      Hola, grabé este video hace un tiempo y no recuerdo los detalles exactos. Por favor, envíame una descripción detallada del error, incluyendo los logs y cualquier otra información relevante. Así podré ayudarte de manera más efectiva

    • @manuelortiz7000
      @manuelortiz7000 5 месяцев назад

      @@latecnologiaavanza fue ya casi acabando la aplicación, que tratanas de iniciar sesión con el usuario registrado y salía contraseña incorrecta, lo solucionaste en el archivo html agregando el "name=usuario" y contraseña pero yo aún agregando el nombre a esos campos en el archivo html no me deja iniciar sesión y me ahorra contraseña y usuario incorrectos, con los usuarios que estam registrados tampoco me deja iniciar sesión, no se si con eso te acuerdas

    • @latecnologiaavanza
      @latecnologiaavanza  5 месяцев назад

      @@manuelortiz7000 has probado usando el código fuente?

    • @manuelortiz7000
      @manuelortiz7000 5 месяцев назад

      @@latecnologiaavanza la verdad no pero de igual manera solo cambie algunos atributos de la tabla usuario, le cambie el nombre y le añadí algunos atributos más pero aun asi no me deja, me sale ese mismo error y segun yo, esta todo bien, levanta la aplicación, deja registrar, lo guarda en la bd pero no me deja iniciar sesión 😰🥺😞😓

    • @latecnologiaavanza
      @latecnologiaavanza  5 месяцев назад

      @@manuelortiz7000 Te comparto algunas fuentes (consulta con la Documentación) para que actualices algunas cosas
      www.codejava.net/frameworks/spring-boot/user-registration-and-login-tutorial
      javatechonline.com/spring-boot-thymeleaf-security-login-example/
      www.marcobehler.com/guides/spring-security

  • @DavidHernandez-pg5zc
    @DavidHernandez-pg5zc 2 года назад

    Hola. Yo uso una estructura prácticamente idéntica a la que usas tu y he aprovechado para añadir algunos detalles de los tuyos. Me gustaría añadir a esta aplicación un filtro que compruebe que efectivamente el usuario está logeado (autenticado) en la aplicación sin necesidad de tener que estar preguntando cada vez. Sabes algún recurso o tienes algo donde pueda comenzar.
    Saludos y gracias por este tutorial

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Hola , busca lo que deseas en ingles y te saldrán varios ejemplos

  • @juliotorres0101
    @juliotorres0101 Год назад +2

    Apenas un año y todo lo que usas en sprin security ya está obsoleto con la versión 6, pero buen video

  • @williandiaz2815
    @williandiaz2815 2 года назад

    hola haz uno nuevo pues desde la version 5.7 mudo todo em spring security

  • @alejandromarquezica3350
    @alejandromarquezica3350 2 года назад

    Bro primero que nada muchas felicidades, bien explicado tu trabajo! funcional y muy util.
    tengo una duda respecto a la creación de roles y permisos para acceder a ciertas rutas empleando las clases de entidades que das de alta....
    ¿Que debo hacer para utilizar esto en la clase "SecurityConfiguration" ? de acuerdo a este proyecto. MUCHAS GRACIAS de antemano por tu atención

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Aquí un ejemplo
      github.com/ChristianRaulRamirez/gestion-empleados-spring-boot/blob/master/mini-control-empleados/src/main/java/com/gestion/empleados/WebSecurityConfig.java

  • @Naimadmdp
    @Naimadmdp 3 года назад +1

    Excelente! Nuevo subs!!!

  • @ing.fernando5521
    @ing.fernando5521 2 года назад

    Hola, muy bueno, pero tengo un detalle, me marca error : Caused by: java.sql.SQLException: Field 'rol_id' doesn't have a default value, a alguien más le salio?, gracias

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      Hola trata de descargar el código está en la descripción

  • @rafo001
    @rafo001 3 года назад

    ''ROLE_USER' que tipo variable es ?

    • @latecnologiaavanza
      @latecnologiaavanza  3 года назад

      String

    • @rafo001
      @rafo001 3 года назад

      @@latecnologiaavanza en la bd seria varchar pero me sale error la tabla rol que columnas tiene ? :C

    • @rafo001
      @rafo001 3 года назад

      @@latecnologiaavanza Field 'ROLE_USER' doesn't have a default value me sale esto a la hora de registrarme

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      @@rafo001 registraste el rol en la tabla?

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад

      @@rafo001 ahí en la descripción esta el código fuente , verifica tu código

  • @nomadeyoga2157
    @nomadeyoga2157 2 года назад

    Me sale este error ( al correr el programa por primera vez en el minuto 49)
    HikariPool-1 - Exception during pool initialization.
    java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
    tengo bien instaladas las dependencias, y esta corriendo bien mysql

    • @latecnologiaavanza
      @latecnologiaavanza  2 года назад +1

      configura el password y username del properties

    • @nomadeyoga2157
      @nomadeyoga2157 2 года назад

      @@latecnologiaavanza listo :(

    • @nomadeyoga2157
      @nomadeyoga2157 2 года назад

      @@latecnologiaavanza ya lo arrelge y me resulto otro error jaja D: pero ahora de una clase

    • @nomadeyoga2157
      @nomadeyoga2157 2 года назад

      solucionado; se me habia olvidado en añador @Service a la clase de servicio impl

  • @josedariomosquera7741
    @josedariomosquera7741 2 месяца назад

    Kapo!

  • @facundoavila9120
    @facundoavila9120 Год назад

    Hola, Alguien podria ayudarme a configurar spring security en java 17? Todos los tutoriales son en 8 :(

  • @KLLR-qu5tw
    @KLLR-qu5tw 2 года назад

    Te ubieras ahorrado el getter ando setter con el loombook

  • @davidsilvaalvarez5124
    @davidsilvaalvarez5124 2 года назад

    Vamos a poner mi canal como contraseña, 1234hola jajajaja me rei en esa parte xD