Я пытаюсь запретить пользователям доступ к специальным страницам с помощью PhaseListener. по этой причине я пытаюсь выяснить, на какую страницу они пытаются получить доступ.
но моя проблема в том, что я получаю только ту страницу, где они были раньше. не настоящая страница.
public void afterPhase(PhaseEvent event)
{
FacesContext fc = event.getFacesContext();
System.out.println("test1" + fc.getViewRoot().getViewId());
}
и здесь то же самое
public void afterPhase(PhaseEvent event)
{
FacesContext fc = event.getFacesContext();
HttpServletRequest request = (HttpServletRequest) fc.getExternalContext().getRequest();
String uri = request.getRequestURI();
System.out.println("uri: " + uri);
}
почему это так и как мне получить имя страницы, к которой пытается получить доступ пользователь? Не тот, который им требовался за шаг до этого, или, лучше, та страница, с которой они пришли.