Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class CustomAuthentication implements AuthenticationProvider {
- @Autowired
- private UserRepository userRepository;
- @Override
- public Authentication authenticate(Authentication authentication) throws AuthenticationException {
- String userLogin = authentication.getName();
- String password = authentication.getCredentials().toString();
- User user = userRepository.findOneByLogin(userLogin).orElse(null);
- if (userLogin.equalsIgnoreCase("test") && password.equals("test")) { // replace your custom code here for custom authentication
- return new UsernamePasswordAuthenticationToken
- (userLogin, password, Collections.emptyList());
- } else {
- throw new BadCredentialsException("External system authentication failed");
- }
- }
- @Override
- public boolean supports(Class<?> authentication) {
- return true;
- }
- }
- @Repository("userRepository")
- public interface UserRepository extends CrudRepository<User, Long> {
- @Query(value = "SELECT * FROM user u WHERE u.login = ? ", nativeQuery = true)
- Optional<User> findOneByLogin(String login);
- Optional<User> findOneById(long id);
- List<User> findAll();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement