@Override public String toString() { return getName(); }
/** * @param right The right being checked. * @param userReference The user, for which the query was attempted. * @param entityReference The entity, on which the query was attempted. * @param message Message. * @param cause Original cause. */ public AuthorizationException(Right right, DocumentReference userReference, EntityReference entityReference, String message, Throwable cause) { super(String.format("%s when checking %s access to [%s] for user [%s]", message, (right == null) ? "" : "[" + right.getName() + "]", (entityReference == null) ? NULL_ENTITY : entityReference, (userReference == null) ? NULL_USER : userReference), cause); }
@Override public String toString() { StringBuilder sb = new StringBuilder("["); boolean first = true; for (int i = 0; i < Right.size(); i++) { if ((rights & (1 << i)) > 0) { if (first) { first = false; } else { sb.append(", "); } sb.append(Right.get(i).getName()); } } sb.append("]"); return sb.toString(); }
@Override public String toString() { StringBuilder sb = new StringBuilder("["); boolean first = true; for (int i = 0; i < rights.size(); i++) { if (getValue(i) != null) { if (first) { first = false; } else { sb.append(", "); } sb.append(Right.get(i).getName()) .append(" = ") .append(unmaskNull(getValue(i)).toString()); } } sb.append("]"); return sb.toString(); }
/** * Log access conclusion. * @param access The ALLOW or DENY state * @param user The user name that was checked. * @param entity The page that was checked. * @param right The action that was requested. * @param info Additional information. * @param debugLevel If true, is made at debug level, else logging is made at info level. */ private void logAccess(RuleState access, DocumentReference user, EntityReference entity, Right right, String info, boolean debugLevel) { if ((debugLevel && logger.isDebugEnabled()) || (!debugLevel && logger.isInfoEnabled())) { String userName = (user != null) ? entityReferenceSerializer.serialize(user) : AuthorizationException.NULL_USER; String docName = (entity != null) ? entityReferenceSerializer.serialize(entity) : AuthorizationException.NULL_USER; String rightName = (right != null) ? right.getName() : "no right"; String accessName = (access == RuleState.ALLOW) ? "granted" : "denied"; String message = "[{}] access has been {} for user [{}] on [{}]: {}"; if (debugLevel) { logger.debug(message, rightName, accessName, userName, docName, info); } else { logger.info(message, rightName, accessName, userName, docName, info); } } }
@Override public boolean needsAuthentication(Right right) { XWikiContext context = xcontextProvider.get(); String prefName = "authenticate_" + right.getName(); String value = context.getWiki().getXWikiPreference(prefName, "", context); Boolean result = checkNeedsAuthValue(value); if (result != null) { return result; } value = context.getWiki().getSpacePreference(prefName, "", context).toLowerCase(); result = checkNeedsAuthValue(value); if (result != null) { return result; } return false; }