package com.juick.server.security; import com.juick.service.UserService; 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.authority.SimpleGrantedAuthority; import javax.inject.Inject; import java.util.Collections; /** * Created by vitalyster on 25.11.2016. */ public class JuickAuthenticationProvider implements AuthenticationProvider { @Inject UserService userService; @Override public Authentication authenticate(Authentication authentication) throws AuthenticationException { String name = authentication.getName(); String password = authentication.getCredentials().toString(); if (userService.checkPassword(name, password) > 0) { return new UsernamePasswordAuthenticationToken(name, password, Collections.singletonList( new SimpleGrantedAuthority("ROLE_USER") )); } return null; } @Override public boolean supports(Class authentication) { return authentication.equals(UsernamePasswordAuthenticationToken.class); } }