Инъекция AuthenticationManager не удалась при весенней загрузке - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь использовать класс загрузки Spring AuthenticationManager в своем веб-приложении, при этом я получаю сообщение об ошибке

Поле authMang в com.tabi sh .flightreservation.services .SecurityServiceImpl требуется bean-компонент типа 'org.springframework.security.authentication.AuthenticationManager', который не найден.

и

The точка внедрения имеет следующие аннотации: - @ org.springframework.beans.factory.annotation.Autowired (обязательно = true)

, и она просит меня сделать это

Действие: рассмотрите возможность определения bean-компонента типа 'org.springframework.security.authentication.AuthenticationManager' в вашей конфигурации.

Мой код:

import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.stereotype.Service;

@Service
public class SecurityServiceImpl implements SecurityService {

    @Autowired
    UserDetailsService userDetailService;

    @Autowired
    AuthenticationManager authMang;

    @Override
    public boolean login(String username, String password) {
        // TODO Auto-generated method stub
        UserDetails userDetails = userDetailService.loadUserByUsername(username);

        UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(userDetails, password,
                userDetails.getAuthorities());

        authMang.authenticate(token);

        boolean result = token.isAuthenticated();

        //If result is successful then spring will not ask for auth again and again and will not display login page again
        if(result)
            SecurityContextHolder.getContext().setAuthentication(token);

        return result;
    }

}


...