द्वारा फेस फेस मैसेज सेट करें मेरे जेएसएफ एप्लीकेशन में, Filter
है जिसका उपयोग प्रामाणिकती 0 एन प्रक्रिया की जांच के लिए किया जाता है। जब प्रमाणीकरण विफल हो जाता है, तो फ़िल्टर login.xhtml
पर रीडायरेक्ट करता है।फ़िल्टर
Filter
से मैं अपने लॉगिन पेज पर FacesMessage
कैसे पास कर सकता हूं?
हालांकि, मैंने नीचे उपयोग किया, यह ठीक नहीं है।
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, message, null));
AuthenticationFilter.java
public class AuthenticationFilter implements Filter {
private FilterConfig config;
private ServletContext servletContext;
public void init(FilterConfig filterConfig) {
config = filterConfig;
servletContext = config.getServletContext();
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
HttpServletResponse httpResponse = (HttpServletResponse) servletResponse;
HttpSession session = httpRequest.getSession();
User user = (User) session.getAttribute(Constants.LOGIN_USER);
if (user == null) {
...
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, message, null));
String loginView = httpRequest.getContextPath() + Constants.LOGIN_PAGE;
httpResponse.sendRedirect(loginView);
} else if (!user.getRole().equals(Role.SYSTEM_ADMINISTRATOR)) {
....
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, message, null));
String loginView = httpRequest.getContextPath() + Constants.LOGIN_PAGE;
httpResponse.sendRedirect(loginView);
} else {
filterChain.doFilter(servletRequest, servletResponse);
}
servletContext.log("Exiting the filter");
}
public void destroy() {
//Nothing to do.
}
}
आपके समर्थन के लिए धन्यवाद। – CycDemo
आपका स्वागत है। – BalusC