Publicaciones Similares
dpkg: error fatal irrecuperable, abortando
PorMarcosEscenario Estaba yo cargando un dump de unos ocho gigas en un servidor de MySql cuando de repente el proceso se queda parado. Lo estaba cargando con un source de un fichero generado con mysqldump. Un show processlist muestra el proceso bloqueado. Lo mato con un kill pero el source sigue sin avanzar. Para detener…
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();}…
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…
Chart.js: cómo cambiar el idioma (locale) dinámicamente
PorMarcosEscenario Por un lado una aplicación que permite al usuario personalizar el idioma del sitio. Por otro, una gráfica de tipo línea temporal generada con la biblioteca Chart.js, integrada en un módulo de React con react-chartjs-2. Problema Según un comentario de un usuario de Stackoverflow, basta con un require('moment/min/moment-with-locales'); y establecer el valor de la…
Disco corrupto en nas4Free
PorMarcosEscenario Tengo un servidor para mis copias de seguridad que usa el gestor nas4Free, basado en FreeBSD 9.3. Problema Tras un corte inesperado del suministro eléctrico, la máquina no vuelve a arrancar. Se muestra este error por pantalla: /dev/ada4s2 contains a file system with errors, check forced /dev/ada4s2 directory inode 7561250, block #1 offset 2008…