click-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bob Schellink <sab...@gmail.com>
Subject menu isUserInRole impl
Date Sun, 29 Nov 2009 02:18:24 GMT
Hi all,

If a menu doesn't define any roles, isUserInRoles will return false. I wonder if this is the
correct 
default. Wouldn't it be better to return true if no roles are defined? Otherwise one will
have to 
define an anonymous role and set it on these menus.

regards

bob


Proposed change:

   public boolean isUserInRoles() {
     // PROPOSED CHANGE START
     List roles = getRoles();
     if (roles == null || roles.isEmpty()) {
       return true;
     }
     // END

     if (getAccessController() == null) {
       String msg = "Menu accessController has not been defined";
       throw new IllegalStateException(msg);
     }

     HttpServletRequest request = getContext().getRequest();

     for (int i = 0, size = roles.size(); i < size; i++) {
       String rolename = (String) roles.get(i);
       if (getAccessController().hasAccess(request, rolename)) {
         return true;
       }
     }

     return false;
   }


Mime
View raw message