Publicaciones Similares
Instalación certificado SSL de un vendedor
PorMarcosEscenario Tienes una web con un certificado de un vendedor que va a expirar, o no tienes certificado y, por la razón que sea, quieres uno de pago. Objetivo Necesitas instalar o renovar un certificado SSL proporcionado por uno de los vendedores tradiciones, Comodo, Symantec, Geotrust, etc… Usaremos a modo de ejemplo el subdominio ssl.technoage.net….
Mi blog puede contener programas dañinos
PorMarcosEscenario Cuál fue mi sorpresa cuando la semana pasada al intentar acceder a este blog me encontré que estaba bloqueado por Firefox. Probé con Chrome, misma situación. En vez de cargar la página, el navegador mostraba una pantalla en rojo avisando que el sitio puede contener programas dañinos para mi ordenador. Problema Aunque los dos…
Tormenta, Nas4free, UFS y USB
PorMarcosEscenario Desde hace más de diez años uso un servidor para almacenar mi música, copias de seguridad, películas, fotos y vídeos. Tiene instalado Nas4free, un software para gestionar los recursos de la NAS que corre sobre el sistema operativo FreeBSD. Desde el 2018 el software empezó a publicarse bajo el nombre XigmaNas. Esto último me…
Autenticación múltiple en Spring boot: JWT y formulario
PorMarcosEscenario Por exigencias de un tercero debemos adaptar nuestro servicio web para que sea compatible con autenticación por JWT. Hasta ahora las llamadas al API se hacían desde dentro de la aplicación usando las mismas credenciales del usuario autenticado por cookie. La configuración de la cadena de filtros de Spring Security es la siguiente:
Java12345678910111213141516171819202122232425262728293031323334353637@Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception{http.headers().frameOptions().disable().addHeaderWriter(new StaticHeadersWriter("Content-Security-Policy", "frame-ancestors 'self'")).and().csrf().requireCsrfProtectionMatcher(new AndRequestMatcher(CsrfFilter.DEFAULT_CSRF_MATCHER, new RegexRequestMatcher("^(?!/api/)", null))).and().authorizeRequests().antMatchers("/").fullyAuthenticated().antMatchers("/client/**").hasAnyAuthority("CLIENT", "SUPER_ADMIN", "ADMIN").antMatchers("/admin/**").hasAnyAuthority("SUPER_ADMIN", "ADMIN").antMatchers("/actuator/**").hasAnyAuthority("SUPER_ADMIN", "ADMIN").antMatchers("/api/auth/**").permitAll().antMatchers("/api/**").hasAnyAuthority("ADMIN", "SUPER_ADMIN", "CLIENT", "API_USER").and().formLogin().loginPage("/user/login").successHandler(successHandler()).failureUrl("/user/login?error=true").defaultSuccessUrl("/").usernameParameter("username").and().logout().logoutRequestMatcher(new AntPathRequestMatcher("/user/logout")).deleteCookies("remember-me").logoutSuccessUrl("/user/login").and().rememberMe().userDetailsService(userDetailsService);return http.build();}…
Cómo aumentar el tamaño de la partición /boot
PorMarcosEscenario Cloudatcost es una empresa canadiense que, entre otras cosas, ofrece un servicio de hosting que, en vez de pagar todos los meses, lo compras con un único pago. Te permiten comprar un número de CPUs, espacio en disco y cantidad de memoria RAM para que la gestiones como mejor te convenga, distribuyendo los recursos…