Я пытаюсь реализовать нижеприведенное, но мой экземпляр authenticationManager выдает нижеприведенное исключение и не подключается автоматически.Как я могу получить экземпляр этого из Spring вручную?Я не использую пружинный контроллер, я использую bean-объект в области запросов JSF.Я получаю приведенное ниже исключение во время выполнения, когда контейнер пытается автоматически подключить аутентификациюManager.RequestCache поставляется в порядке.Я не понимаю, почему у меня есть два экземпляра ...
config:
<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);
}
}