Index: kernel-impl/src/main/java/org/sakaiproject/content/impl/BaseContentService.java =================================================================== --- kernel-impl/src/main/java/org/sakaiproject/content/impl/BaseContentService.java (revision 57902) +++ kernel-impl/src/main/java/org/sakaiproject/content/impl/BaseContentService.java (working copy) @@ -1599,8 +1628,12 @@ boolean isAllowed = SecurityService.isSuperUser(); if(! isAllowed) { lock = convertLockIfDropbox(lock, id); + if (id != null && id.endsWith("/") && id.toLowerCase().indexOf("/protected") >= 0 && lock.equals("content.read")) { + lock = "content.hidden"; + } + // make a reference from the resource id, if specified String ref = null; if (id != null) @@ -1671,7 +1706,11 @@ ref = getReference(id); } - if (!SecurityService.unlock(lock, ref)) + if (id != null && id.endsWith("/") && id.toLowerCase().indexOf("/protected") >= 0 && lock.equals("content.read")) { + lock = "content.hidden"; + } + + if (!SecurityService.unlock(lock, ref)) { throw new PermissionException(SessionManager.getCurrentSessionUserId(), lock, ref); }