protected boolean canAdmin(String securityToken, String userId, String extensionName, Wikitty wikitty) { boolean canAdmin = false; // first, check per-extension rights if (wikitty.hasMetaExtension(WikittyAuthorisation.EXT_WIKITTYAUTHORISATION, extensionName)) { // there is a policy on the extension of fqFieldDirtyName canAdmin = isAdmin(securityToken, userId, wikitty, extensionName) || isOwner(securityToken, userId, wikitty, extensionName); } if ( ! canAdmin && wikitty.hasExtension(WikittyAuthorisation.EXT_WIKITTYAUTHORISATION) ) { // there is no policy for this extension // but there is a policy for all extension of wikitty canAdmin = isAdmin(securityToken, userId, wikitty, null) || isOwner(securityToken, userId, wikitty, null); } if ( ! canAdmin ) { // still not admin, check appAdmin canAdmin = isAppAdmin(securityToken, userId); } return canAdmin; }