@Override
public boolean hasAccessToObject(Object securedObject, String... securityConfigurationAttributes) {
final Authentication authentication = getAuthentication();
if (getAccessDecisionManager() == null || authentication == null || !authentication.isAuthenticated()) {
if (getAccessDecisionManager() == null) {
logger.warn("Access was denied to object because there was no AccessDecisionManager set!");
}
return false;
}
final Collection<ConfigAttribute> configAttributes = new ArrayList<ConfigAttribute>(securityConfigurationAttributes.length);
for (String securityConfigString : securityConfigurationAttributes) {
configAttributes.add(new SecurityConfig(securityConfigString));
}
try {
getAccessDecisionManager().decide(authentication, securedObject, configAttributes);
return true;
} catch (AccessDeniedException ex) {
return false;
} catch (InsufficientAuthenticationException ex) {
return false;
}
}