in plugin-core/plugin/src/main/groovy/grails/plugin/springsecurity/access/vote/AuthenticatedVetoableDecisionManager.groovy [86:109]
protected boolean checkOtherVoters(Authentication authentication, object, Collection<ConfigAttribute> configAttributes) {
int denyCount = 0
for (AccessDecisionVoter voter in getDecisionVoters()) {
if (voter instanceof AuthenticatedVoter) {
continue
}
boolean voterSupportsSecurityContext = object == null || voter.supports(object.class)
if (voterSupportsSecurityContext) {
int result = voter.vote(authentication, object, configAttributes)
switch (result) {
case AccessDecisionVoter.ACCESS_GRANTED: return true
case AccessDecisionVoter.ACCESS_DENIED: denyCount++; break
default: break // abstain
}
}
}
if (denyCount) {
deny()
}
// all abstain
false
}