La rédaction d'une autorisation de filtre pour mon application web(JSF 2.0)

Suivant quelques conseils, j'ai décidé d'écrire ma propre autorisation de filtre pour mon application web(je ne suis pas à l'aide gérée par le conteneur de sécurité donc je dois le faire de cette façon).

C'est mon premier filtre de sorte que je suis un peu confus dans la façon dont je dois la mettre en œuvre.
C'est ce que j'ai fait jusqu'à présent:

package filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import entities.Role;
public class RestrictPageFilter implements Filter {
FilterConfig fc;
public void init(FilterConfig filterConfig) throws ServletException {
//The easiest way to initialize the filter
fc = filterConfig;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
String pageRequested = req.getRequestURL().toString();
Role currentUser = (Role) session.getAttribute("userRole");
//Pages that are allowed with no need to login:
//-faq.xhtml
//-index.jsp
//-login.xhtml
//-main.xhtml
//-registration.xhtml
//NOW pages that are restricted depending on the type of user
//buyoffer.xhtml(Only BUYER)
//sellerpanel.xhtml(Only SELLER)
//adminpanel.xhtml(Only ADMINISTRATOR)
//HOW SHOULD I IMPLEMENT THAT??
if(currentUser != null && currentUser.getType().equals("BUYER")) {          
}
if(currentUser != null && currentUser.getType().equals("SELLER")) {         
}
if(currentUser != null && currentUser.getType().equals("ADMINISTRATOR")) {          
}
}
public void destroy() {
//Not needed
}
}

Comme vous le voyez j'ai laissé des commentaires là où je suis coincé. Quelqu'un peut-il me donner un coup de main à la finition de ce filtre ou me donner le pseudo-code de conseils comment dois-je finir?

J'ai vu des exemples sur le web, mais aucun d'entre eux n'différents filtrage selon le type d'utilisateur.

Mauvais remercie de votre aide 🙂

mise à Jour

J'ai créé un fichier xml pour m'aider à faire le filtrage(Il est situé à l'intérieur de WEB-INF/classes)

<access>
<buyer>
<page>buyoffer.xhtml</page>
<page>faq.xhtml</page>
<page>index.jsp</page>
<page>login.xhtml</page>
<page>main.xhtml</page>
<page>registrationSucceded.xhtml</page>     
</buyer>
<seller>
<page>sellerpanel.xhtml</page>
<page>faq.xhtml</page>
<page>index.jsp</page>
<page>login.xhtml</page>
<page>main.xhtml</page>
<page>registrationSucceded.xhtml</page>     
</seller>
<administrator>
<page>sellerpanel.xhtml</page>
<page>faq.xhtml</page>
<page>index.jsp</page>
<page>login.xhtml</page>
<page>main.xhtml</page>
<page>registrationSucceded.xhtml</page>     
</administrator>
</access>
<!-- THE REGISTRATION PAGES SHOULD NOT BE ACCESSIBLE IF THE USER IS LOGGED IN -->

J'ai lu le fichier à partir de la méthode init ().()

public class RestrictPageFilter implements Filter {
private FilterConfig fc;
private InputStream in;
public void init(FilterConfig filterConfig) throws ServletException {
//The easiest way to initialize the filter
fc = filterConfig;
//Get the file that contains the allowed pages
in = this.getClass().getResourceAsStream("/allowedpages.xml");
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
HttpSession session = req.getSession(true);
String pageRequested = req.getRequestURL().toString();
//Get the value of the current logged user 
Role currentUser = (Role) session.getAttribute("userRole");
if (currentUser != null) {
}
}
public void destroy() {
//Not needed
}
}
Donc, concrètement, votre question est "Comment lire un fichier XML à l'aide de Java EE"?
Ouais c'est l'une des choses que je suis confus. J'ai ouvert une question sur ce sujet: stackoverflow.com/questions/5663581/... j'ai décidé d'utiliser JAXP analyseur

OriginalL'auteur sfrj | 2011-04-14