주로그인 페이지에 로그인 한 후 JBoss Seam이 사용자의 "마지막으로 방문한 페이지"를 리디렉션 할 수 있습니까?
나는 사용자가 이미 <url-pattern>
를 사용하여 로그인 여부를 확인하는 데 사용됩니다 ServletFilter
있습니다. 사용자가 기록하지 않으면 login.xhtml
으로 리디렉션됩니다. 사용자가 로그인 한 후
내 문제는
, 내 프로그램은 항상합니다 (navigation-rule
기준) dashboard.xml
리디렉션됩니다. last visited page
을 자동으로 리디렉션하고 싶습니다. 가능한 방법을 제공해 주시겠습니까?
현재 내 Soluction 나는 그것을 사용하는 것이 행복하지 않다, 그
에 대한 작품이다 그러나. Seam
가 지원됩니까? 더 나은 방법을 제공해 줄 수 있습니까? 내 ServletFilter
에서
, 나는 마지막으로 사용자가 로그인 한 후 마지막 방문 페이지를 리디렉션, 내 LoginBean
에서
httpSession.setAttribute(Constants.ORIGINAL_VIEW_KEY, requestPath);
AuthenticationFilter.java 다음과 같이 페이지를 방문하십시오.
LoginBean.java
ELContext elContext = facesContext.getELContext();
Application application = facesContext.getApplication();
ExpressionFactory eFactory = application.getExpressionFactory();
ValueExpression binding = eFactory.createValueExpression(elContext, "#{" + Constants.VISIT_KEY_SCOPE + Constants.VISIT_KEY + "}", Visit.class);
binding.setValue(elContext, visit);
ValueExpression originalViewBinding = eFactory.createValueExpression(elContext, "#{" + Constants.ORIGINAL_VIEW_SCOPE + Constants.ORIGINAL_VIEW_KEY + "}", String.class);
String originalViewId = (String) originalViewBinding.getValue(elContext); <--- last visited view id.
UIViewRoot viewRoot = application.getViewHandler().createView(facesContext, originalViewId) ;
facesContext.setViewRoot(viewRoot);
facesContext.renderResponse();
당신이 페이지에 대한 사용자 반환 그가 현장에 있던 마지막이라고 할 – CycDemo
내 질문 마지막 페이지 방문? Seam은 기본적으로이 기능을 제공하지 않으므로 현재 페이지의 view-id를 저장하고 (예를 들어 DB에) 로그인 한 다음 해당 뷰로 리디렉션하고 소스 코드를 확인하는 글로벌 페이지 작업을 추가해야합니다 리디렉션하는 방법에 대한 단서를 제공하는 ** 리디렉션 ** 구성 요소 – AndresQ