NIHVIVO-3523 Protect against null arguments.

This commit is contained in:
j2blake 2011-12-23 19:29:45 +00:00
parent a75b15d940
commit 9d74b4e41a

View file

@ -19,14 +19,25 @@ public class PermissionsPolicy implements PolicyIface {
@Override
public PolicyDecision isAuthorized(IdentifierBundle whoToAuth,
RequestedAction whatToAuth) {
if (whoToAuth == null) {
return defaultDecision("whomToAuth was null");
}
if (whatToAuth == null) {
return defaultDecision("whatToAuth was null");
}
for (Permission p : HasPermission.getPermissions(whoToAuth)) {
if (p.isAuthorized(whatToAuth)) {
return new BasicPolicyDecision(Authorization.AUTHORIZED,
"PermissionsPolicy: approved by " + p);
}
}
return new BasicPolicyDecision(Authorization.INCONCLUSIVE,
"no permission will approve " + whatToAuth);
return defaultDecision("no permission will approve " + whatToAuth);
}
/** If the user isn't explicitly authorized, return this. */
private PolicyDecision defaultDecision(String message) {
return new BasicPolicyDecision(Authorization.INCONCLUSIVE, message);
}
@Override