You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Eugen Stoianovici <eu...@gmail.com> on 2007/08/10 16:48:28 UTC

struts2.0.8 javax.servlet.Filter implementation problem

i'm trying to use a custom filter to implement authorization and i can't 
get the damned thing to work (i'm an absolute beginner, be warned).
i'm using struts2.0.8 with tomcat 5.5

my doFilter method looks like this
public class AuthorizationFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {

        HttpServletRequest req = (HttpServletRequest) request;
        HttpServletResponse res = (HttpServletResponse) response;

        HttpSession session = req.getSession();
        Employee employee = (Employee) session.getAttribute("user");
        boolean hasRole = false;
       
        if(employee!=null){
            for (int i = 0; i < roleNames.length; i++) {
                if (employee.hasRole(roleNames[i])) {
                    hasRole = true;
                    break;
                }
            }
        }
        if (hasRole) {
            chain.doFilter(request, response);
        } else {
                req.getRequestDispatcher(onErrorUrl).forward(req, res);
        }
}
}

the browser reports: (line 47 is                
req.getRequestDispatcher(onErrorUrl).forward(req, res); )

*type* Exception report

*message*

*description* _The server encountered an internal error () that 
prevented it from fulfilling this request._

*exception*

org.apache.jasper.JasperException
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	security.AuthorizationFilter.doFilter(AuthorizationFilter.java:47)

*root cause*

java.lang.NullPointerException
	org.apache.struts2.views.jsp.TagUtils.getStack(TagUtils.java:58)
	org.apache.struts2.views.jsp.StrutsBodyTagSupport.getStack(StrutsBodyTagSupport.java:52)
	org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:49)
	org.apache.jsp.index_jsp._jspx_meth_s_005furl_005f0(index_jsp.java:102)
	org.apache.jsp.index_jsp._jspService(index_jsp.java:62)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	security.AuthorizationFilter.doFilter(AuthorizationFilter.java:47)

*
*__



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org