У меня возникли проблемы во время интеграции Spring Security и JSF 2.0.Перехват защищенных страниц и всего остального работает нормально, но когда я пытаюсь войти в систему пользователя (через мой компонент поддержки), кажется, что мой AuthenticationService, который является ManagedProperty моего LoginBean, является нулевым.Он работал нормально, когда я использовал Spring Security 3.7, теперь я перешел на 3.1.0, и это начало вызывать у меня проблемы.Здесь я прилагаю свой LoginBean и AuthenticationService (внедрение этого интерфейса вызывает исключение NullPointerException).
//LoginBean
@ManagedProperty(value="#{authenticationService}")
private AuthenticationService authenticationService;
public String login() {
boolean success = authenticationService.login(name, password);
if(success) {
return "/faces/signed/home.xhtml?faces-redirect=true";
}
else {
return "/faces/accessDenied.xhtml?faces-redirect=true";
}
}
это интерфейс AuthenticationService и его реализация
public interface AuthenticationService {
public boolean login(String username, String password);
}
реализация
@Service("authenticationService")
public class AuthenticationServiceImpl implements AuthenticationService {
@Resource
AuthenticationManager authenticationManager;
@Override
public boolean login(String username, String password) {
try{
Authentication authenticate =
authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(
username, password));
if(authenticate.isAuthenticated()) {
SecurityContextHolder.getContext().setAuthentication(authenticate);
return true;
}
}
catch (AuthenticationException e) {
System.out.println("chyba");
}
return false;
}
Кстати, я пытался использовать этот учебник http://technology -for-human.blogspot.com / 2011/01 / jsf-2-with-spring-3-protection-with.html Большое спасибоза ответы!