protected boolean canRead(String securityToken, String userId, String extensionName, Wikitty wikitty) { boolean canRead = false; // first, check per-extension rights if (wikitty.hasMetaExtension(WikittyAuthorisation.EXT_WIKITTYAUTHORISATION, extensionName)) { // there is a policy on the extension canRead = isReader(securityToken, userId, wikitty, extensionName) || canWrite(securityToken, userId, extensionName, wikitty); } if ( ! canRead && wikitty.hasExtension(WikittyAuthorisation.EXT_WIKITTYAUTHORISATION) ) { // there is no policy for this extension // but there is a policy for all extension of wikitty canRead = isReader(securityToken, userId, wikitty, null) || canWrite(securityToken, userId, extensionName, wikitty); } else { // no security policy, everything is allowed canRead = true; } return canRead; }
@Override public boolean canRead(String securityToken, String wikittyId) { boolean result = true; String userId = getUserId(securityToken); Wikitty wikitty = WikittyServiceEnhanced.restore(getDelegate(), securityToken, wikittyId); if (wikitty == null) { result = false; } else { for (String extName : wikitty.getExtensionNames()) { result = result && isReader(securityToken, userId, wikitty, extName); if (!result) { break; } } } return result; }