Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.security.authentication.AuthenticationProvider;
- import org.springframework.security.authentication.BadCredentialsException;
- 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.security.core.userdetails.UsernameNotFoundException;
- import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
- import java.util.ArrayList;
- import java.util.List;
- public class AuthProviderImpl implements AuthenticationProvider {
- @Autowired
- CredentialRepository credentialsRepository;
- BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
- public Authentication authenticate(Authentication authentication) throws AuthenticationException {
- String login = authentication.getName();
- Credential user = credentialsRepository.findOneByLogin(login);
- if (user == null) {
- throw new UsernameNotFoundException("user not found");
- }
- String password = authentication.getCredentials().toString();
- if (!encoder.matches(password, user.getPassword()) && !password.equals(user.getPassword())) {
- throw new BadCredentialsException("invalid password");
- }
- List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
- authorities.add(new SimpleGrantedAuthority(user.getRole().toString()));
- return new UsernamePasswordAuthenticationToken(user, null, authorities);
- }
- public boolean supports(Class<?> aClass) {
- return aClass.equals(UsernamePasswordAuthenticationToken.class);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement