Revision history [back]

click to hide/show revision 1
initial version

answered 2013-07-05 22:25:21 +0800

rickcr gravatar image rickcr

   <filter-mapping>
    <filter-name>MySecurityFilter</filter-name>
    <url-pattern>/pages/*</url-pattern>
   </filter-mapping>

You're security filter than is something like...

@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    HttpServletResponse response = (HttpServletResponse) servletResponse;
    HttpSession session = request.getSession(false);

    if (session == null || session.getAttribute("user") == null) {
        //redirec to login page or whatever you need to do
        //be sure login.zul resides outside of your secure pages directory 
    } else {
        filterChain.doFilter(request, response);
        return;
    }
}

You Login ViewModel/Controller would be responsible for setting the User in session

I use a more traditional approach using a ServletFilter. All my page are under a "pages" directory.

   <filter-mapping>
    <filter-name>MySecurityFilter</filter-name>
    <url-pattern>/pages/*</url-pattern>
   </filter-mapping>

You're security filter than is something like...

public class MySecurityFilter implements Filter {

@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    HttpServletResponse response = (HttpServletResponse) servletResponse;
    HttpSession session = request.getSession(false);

    if (session == null || session.getAttribute("user") == null) {
        //redirec to login page or whatever you need to do
        //be sure login.zul resides outside of your secure pages directory 
    } else {
        filterChain.doFilter(request, response);
        return;
    }
}

You Login ViewModel/Controller would be responsible for setting the User in session

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More