и это вызвало проблемы. Убедитесь, что вы используете только

аюсь реализовать нижеприведенное, но мой экземпляр authenticationManager выдает следующее исключение и не подключается автоматически. Как я могу получить экземпляр этого из Spring вручную? Я не использую пружинный контроллер, я использую bean-объект в области запросов JSF. Я получаю приведенное ниже исключение во время выполнения, когда контейнер пытается автоматически подключить аутентификациюManager. RequestCache поставляется в порядке. Я не понимаю, почему у меня есть два экземпляра ...

конфигурации:

<authentication-manager>
        <authentication-provider user-service-ref="userManager">
                <password-encoder ref="passwordEncoder" />
        </authentication-provider>
    </authentication-manager>

Инъекция автосвязанных зависимостей не удалась; Вложенное исключение: org.springframework.beans.factory.BeanCreationException: Не удалось автоматически связать поле: protected org.springframework.security.authentication.AuthenticationManager com.dc.web.actions.SignUpDetail.authenticationManager; вложенным исключением является org.springframework.beans.factory.NoSuchBeanDefinitionException: не определен уникальный бин типа [org.springframework.security.authentication.AuthenticationManager]: ожидается один соответствующий бин, но найдено 2: [org.springframework.agerrovideranManager # 0, org.springframework.security.authenticationManager] javax.faces.webapp.FacesServlet.service (FacesServlet.java:325)

@Controller
public class SignupController
{

    @Autowired
    RequestCache requestCache;

    @Autowired
    protected AuthenticationManager authenticationManager;

    @RequestMapping(value = "/account/signup/", method = RequestMethod.POST)
    public String createNewUser(@ModelAttribute("user") User user, BindingResult result,  HttpServletRequest request, HttpServletResponse response)
    {
        //After successfully Creating user
            authenticateUserAndSetSession(user, request);

        return "redirect:/home/";
    }

    private void authenticateUserAndSetSession(User user,
        HttpServletRequest request)
    {
        UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken(
                user.getUsername(), user.getPassword());

        // generate session if one doesn't exist
        request.getSession();

        token.setDetails(new WebAuthenticationDetails(request));
        Authentication authenticatedUser = authenticationManager.authenticate(token);

        SecurityContextHolder.getContext().setAuthentication(authenticatedUser);
    }

}

Ответы на вопрос(0)

Ваш ответ на вопрос