diff --git a/spring-security-custom/src/main/java/org/baeldung/security/CustomAuthenticationProvider.java b/spring-security-custom/src/main/java/org/baeldung/security/CustomAuthenticationProvider.java new file mode 100644 index 0000000000..e2ea9842af --- /dev/null +++ b/spring-security-custom/src/main/java/org/baeldung/security/CustomAuthenticationProvider.java @@ -0,0 +1,42 @@ +package org.baeldung.security; + +import java.util.ArrayList; +import java.util.List; + +import org.springframework.security.authentication.AuthenticationProvider; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.stereotype.Component; + +@Component +public class CustomAuthenticationProvider implements AuthenticationProvider { + + public CustomAuthenticationProvider() { + super(); + } + + // API + + @Override + public Authentication authenticate(final Authentication authentication) throws AuthenticationException { + final String name = authentication.getName(); + final String password = authentication.getCredentials().toString(); + if (name.equals("admin") && password.equals("system")) { + final List grantedAuths = new ArrayList<>(); + grantedAuths.add(new SimpleGrantedAuthority("ROLE_USER")); + final Authentication auth = new UsernamePasswordAuthenticationToken(name, password, grantedAuths); + return auth; + } else { + return null; + } + } + + @Override + public boolean supports(final Class authentication) { + return authentication.equals(UsernamePasswordAuthenticationToken.class); + } + +} diff --git a/spring-security-custom/src/main/resources/webSecurityConfig.xml b/spring-security-custom/src/main/resources/webSecurityConfig.xml index f53b15752c..b5d0c46e3f 100644 --- a/spring-security-custom/src/main/resources/webSecurityConfig.xml +++ b/spring-security-custom/src/main/resources/webSecurityConfig.xml @@ -18,12 +18,7 @@ - - - - - - + \ No newline at end of file