diff --git a/spring-boot-security-taglibs/src/main/java/org/baeldung/security/ApplicationConfig.java b/spring-boot-security-taglibs/src/main/java/org/baeldung/security/ApplicationConfig.java index 6283a102aa..763422e6df 100644 --- a/spring-boot-security-taglibs/src/main/java/org/baeldung/security/ApplicationConfig.java +++ b/spring-boot-security-taglibs/src/main/java/org/baeldung/security/ApplicationConfig.java @@ -1,40 +1,41 @@ package org.baeldung.security; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -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.WebSecurityConfigurerAdapter; -import org.springframework.security.crypto.factory.PasswordEncoderFactories; -import org.springframework.security.crypto.password.PasswordEncoder; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.provisioning.InMemoryUserDetailsManager; @SpringBootApplication @Configuration @EnableWebSecurity public class ApplicationConfig extends WebSecurityConfigurerAdapter { - public static final String DEFAULT_PASSWORD = "password"; + // Using withDefaultPasswordEncoder and InMemoryUserDetailsManager for demonstration and testing purpose + @Bean @Override - protected void configure(AuthenticationManagerBuilder auth) throws Exception { - PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder(); + public UserDetailsService userDetailsService() { + UserDetails user = User.withDefaultPasswordEncoder() + .username("testUser") + .password("password") + .roles("ADMIN") + .build(); - auth.inMemoryAuthentication() - .passwordEncoder(encoder) - .withUser("testUser") - .password(encoder.encode(DEFAULT_PASSWORD)) - .roles("ADMIN"); + return new InMemoryUserDetailsManager(user); } @Override protected void configure(HttpSecurity http) throws Exception { - http.csrf(); - - http.authorizeRequests() - .antMatchers("/**") - .permitAll() - .and() - .httpBasic(); + // @formatter:off + http.csrf() + .and() + .authorizeRequests() + .anyRequest().permitAll().and().httpBasic(); + // @formatter:on } } diff --git a/spring-boot-security-taglibs/src/main/java/org/baeldung/security/HomeController.java b/spring-boot-security-taglibs/src/main/java/org/baeldung/security/HomeController.java index e697e7e301..cdd4c3f42b 100644 --- a/spring-boot-security-taglibs/src/main/java/org/baeldung/security/HomeController.java +++ b/spring-boot-security-taglibs/src/main/java/org/baeldung/security/HomeController.java @@ -1,6 +1,7 @@ package org.baeldung.security; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletRequest; @@ -9,8 +10,9 @@ import javax.servlet.http.HttpServletResponse; @Controller @RequestMapping("/") public class HomeController { - @RequestMapping("") - public String home(HttpServletRequest request, HttpServletResponse response) { + + @GetMapping + public String home() { return "home"; } } diff --git a/spring-boot-security-taglibs/src/main/resources/application.properties b/spring-boot-security-taglibs/src/main/resources/application.properties index 9c49bd2137..218868405f 100644 --- a/spring-boot-security-taglibs/src/main/resources/application.properties +++ b/spring-boot-security-taglibs/src/main/resources/application.properties @@ -1,8 +1,3 @@ #jsp config spring.mvc.view.prefix: /WEB-INF/views/ spring.mvc.view.suffix: .jsp -spring.http.encoding.charset=UTF-8 -# Enable http encoding support. -spring.http.encoding.enabled=true -# Force the encoding to the configured charset on HTTP requests and responses. -spring.http.encoding.force=true diff --git a/spring-boot-security-taglibs/src/main/webapp/WEB-INF/views/home.jsp b/spring-boot-security-taglibs/src/main/webapp/WEB-INF/views/home.jsp index c13590a3df..7291608e3e 100644 --- a/spring-boot-security-taglibs/src/main/webapp/WEB-INF/views/home.jsp +++ b/spring-boot-security-taglibs/src/main/webapp/WEB-INF/views/home.jsp @@ -1,5 +1,7 @@ -<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> -<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%> +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@ taglib prefix="sec" + uri="http://www.springframework.org/security/tags"%>
@@ -8,21 +10,22 @@